Project:SPARQL/examples: Difference between revisions

(35 intermediate revisions by the same user not shown)
Line 1: Line 1:
[[Project:SPARQL/admin | Admin/batch tools queries]]
==SAL and RAI==
==SAL and RAI==


Line 168: Line 170:
</sparql>
</sparql>


===Women who are listed as Fellows of the Society of Antiquaries of London (FSAs) on our wikibase and who are on Wikidata, but are not listed as FSAs on Wikidata===
<sparql tryit="1">
# Women who are listed as Fellows of the Society of Antiquaries of London (FSAs) on our wikibase and who are on Wikidata, but are not listed as FSAs on Wikidata
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
PREFIX bnwdv: <https://beyond-notability.wikibase.cloud/value/>
PREFIX bnwdt: <https://beyond-notability.wikibase.cloud/prop/direct/>
PREFIX bnp: <https://beyond-notability.wikibase.cloud/prop/>
PREFIX bnps: <https://beyond-notability.wikibase.cloud/prop/statement/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
PREFIX wdt: <http://www.wikidata.org/prop/direct/>
PREFIX wd:  <http://www.wikidata.org/entity/>
SELECT ?person ?personLabel
WHERE { 
  ?person bnwdt:P3 bnwd:Q3 . #select women
  FILTER NOT EXISTS {?person bnwdt:P4 bnwd:Q12 .} #filter out project team
 
  ?person bnwdt:P75 bnwd:Q8. # find only BN subjects having a FSA (h/t @Tagishsimon)
  ?person bnwdt:P117 ?wikidata_ID . #look for wikidata ID on person page
  bind(iri(concat("http://www.wikidata.org/entity/", str(?wikidata_ID))) as ?item) .


  SERVICE <https://query.wikidata.org/sparql> {
        ?item wdt:P21 ?WD_gender. #get gender of person
        FILTER NOT EXISTS {?item wdt:P166 wd:Q26196499 . } #not FSA on Wikidata
      }
 
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en-gb,en". }
}
ORDER BY ?personLabel
</sparql>


=== Women's interactions with SAL (Q1 and Q8)===
=== Women's interactions with SAL (Q1 and Q8)===


<sparql tryit="1">
<sparql tryit="1">
#title:Women's interactions with SAL (Q1 and Q8)
# CAVEAT: this query may overlook a significant number of interactions and should probably not be reference/archived in its current state
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
Line 213: Line 184:
PREFIX bnps: <https://beyond-notability.wikibase.cloud/prop/statement/>
PREFIX bnps: <https://beyond-notability.wikibase.cloud/prop/statement/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
PREFIX wdt: <http://www.wikidata.org/prop/direct/>
PREFIX wd:  <http://www.wikidata.org/entity/>


SELECT distinct ?person ?personLabel ?prop ?propLabel  ?pq_value ?qual_propLabel  ?sal
SELECT distinct ?person ?personLabel   ?propLabel  ?qual_value ?qual_propLabel  ?bnwdLabel # ?s ?prop ?qual_prop ?bnwd


WHERE {   
WHERE {   
Line 223: Line 192:


       ?prop wikibase:claim ?p;       
       ?prop wikibase:claim ?p;       
         wikibase:statementProperty ?ps
         wikibase:statementProperty ?ps.     
        wikibase:statementValue ?psv;
        wikibase:propertyType ?prop_type.     
      
      
       # union query to get both q8 and q1  
       # union query to get both q8 and q1  
       { ?s ?ps bnwd:Q8 . }  union { ?s ?ps bnwd:Q1 . }
       { ?s ?ps bnwd:Q8 . }  union { ?s ?ps bnwd:Q1 . }
       ?s ?ps ?sal.
       ?s ?ps ?bnwd. #which type
    
    
      optional {  
      optional {  
         ?s ?pq ?pq_value .   
         ?s ?pq ?qual_value .   
          
          
         ?qual_prop wikibase:qualifier ?pq .  
         ?qual_prop wikibase:qualifier ?pq .
        #?qual_prop rdfs:label ?qual_prop_label. filter(lang(?qual_prop_label)="en-gb") .
        #?qual_prop wikibase:propertyType ?qual_prop_type
          
          
       } # /qualifiers
       } # /qualifiers
Line 248: Line 213:


<sparql tryit="1">
<sparql tryit="1">
#title:Women's interactions with RAI (Q35 and Q29)
# CAVEAT: this query may overlook a significant number of interactions and should probably not be reference/archived in its current state
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
Line 255: Line 222:
PREFIX bnps: <https://beyond-notability.wikibase.cloud/prop/statement/>
PREFIX bnps: <https://beyond-notability.wikibase.cloud/prop/statement/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
PREFIX wdt: <http://www.wikidata.org/prop/direct/>
PREFIX wd:  <http://www.wikidata.org/entity/>


SELECT distinct ?person ?personLabel  ?prop ?propLabel ?prop_type ?pq_value ?pq_valueLabel ?qual_propLabel ?qual_prop_type ?rai ?s
SELECT distinct ?person ?personLabel  ?propLabel  ?qual_value ?qual_propLabel ?bnwdLabel # ?s ?prop ?qual_prop


WHERE {   
WHERE {   
Line 265: Line 230:


       ?prop wikibase:claim ?p;       
       ?prop wikibase:claim ?p;       
         wikibase:statementProperty ?ps
         wikibase:statementProperty ?ps.     
        wikibase:statementValue ?psv;
        wikibase:propertyType ?prop_type.     
      
      
       # to get both q35 and q29  
       # to get both q35 and q29  
       { ?s ?ps bnwd:Q35 . }  union { ?s ?ps bnwd:Q29 . }
       { ?s ?ps bnwd:Q35 . }  union { ?s ?ps bnwd:Q29 . }
       ?s ?ps ?rai.
       ?s ?ps ?bnwd.


       # qualifiers.  
       # qualifiers.  
       optional {  
       optional {  
         ?s ?pq ?pq_value .   
         ?s ?pq ?qual_value .   
          
          
         ?qual_prop wikibase:qualifier ?pq .   
         ?qual_prop wikibase:qualifier ?pq .   
        #?qual_prop rdfs:label ?qual_prop_label. filter(lang(?qual_prop_label)="en-gb") .
        ?qual_prop wikibase:propertyType ?qual_prop_type .
          
          
       } # /qualifiers
       } # /qualifiers
Line 294: Line 255:
#title: FSAs with no record of interacting with SAL in Q1 / Q8
#title: FSAs with no record of interacting with SAL in Q1 / Q8
# only active engagements like spoke at, corresponded with, etc, and excluding P75 "was fellow of" and P5 "archives at".
# only active engagements like spoke at, corresponded with, etc, and excluding P75 "was fellow of" and P5 "archives at".
# WIP: to update with other SAL records as I work through queries for them. Plus caveat that there may be other sources of interaction not recorded in the database!
# CAVEATS: I think this is not working as intended and it shouldn't be referenced or archived


PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
Line 342: Line 303:
#title: RAIs with no record of interacting with RAI in Q29/Q35
#title: RAIs with no record of interacting with RAI in Q29/Q35
# only active engagements like spoke at, corresponded with, etc, and excluding P67 "was member of"  
# only active engagements like spoke at, corresponded with, etc, and excluding P67 "was member of"  
# WIP: to update with other RAI records as I work through queries for them. Plus caveat that there may be other sources of interaction not recorded in the database.
# CAVEATS: I think this may not be working as intended and it shouldn't be referenced or archived in its current state


PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
Line 552: Line 513:
</sparql>
</sparql>


=== Lecturers ===


== Professional Activities and Organisations ==
<sparql tryit="1">
#title:lecturers
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
PREFIX bnwdv: <https://beyond-notability.wikibase.cloud/value/>
PREFIX bnwdt: <https://beyond-notability.wikibase.cloud/prop/direct/>
PREFIX bnp: <https://beyond-notability.wikibase.cloud/prop/>
PREFIX bnps: <https://beyond-notability.wikibase.cloud/prop/statement/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
PREFIX bnpsv: <https://beyond-notability.wikibase.cloud/prop/statement/value/>
PREFIX bnpqv: <https://beyond-notability.wikibase.cloud/prop/qualifier/value/>
 
SELECT distinct ?person ?personLabel  ?positionLabel
?organisedLabel ?ofLabel
?qual_propLabel ?qualLabel
#?position ?of  ?work ?organised  ?date_precision ?qual_prop ?date ?qual ?workLabel
?s
 
WHERE {
   
  ?person bnwdt:P3 bnwd:Q3 . # women
 
  # work activities: held position / held position (free text) /  employed as
  #?person ( bnp:P17|bnp:P48|bnp:P105 ) ?s . 
 
  ?person ?work_p ?s . # for activity type label
    ?work wikibase:claim ?work_p . 
 
    ?s ?bnps ?position . 
    # freelance and extension lecturing (q701 and q3021)
    { ?s ?bnps bnwd:Q701  . } union { ?s ?bnps bnwd:Q3021 .  }
 
    # employer / organised by / of (incl free text).
    OPTIONAL { ?s bnpq:P109 ?organised .}
    OPTIONAL { ?s ( bnpq:P78 | bnpq:P66 ) ?of .}
  # optional { ?s bnpq:P2 ?location . } # do locations separately.
   
  # dates with precision
#  optional {
#    ?s (bnpqv:P1 | bnpqv:P27 | bnpqv:P28  ) ?pqv.
#    ?s ?pqq ?pqv . # just gets the uri but doesnt seem to cause dups
#        ?pqv wikibase:timeValue ?date . 
#        ?pqv wikibase:timePrecision ?date_precision .
#    }
     
    # qualifiers
    optional {
      ?s ?pq ?qual . 
        ?qual_prop wikibase:qualifier ?pq . 
     
      } # /dates
 
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,en-gb". }
 
} # /where


=== Women's service on committees etc (P102) ===
ORDER BY ?person ?s 
</sparql>
 
=== Excavations ===


<sparql tryit="1">
<sparql tryit="1">
 
#title:BN excavations
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
Line 567: Line 587:
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>


SELECT ?excavationLabel ?excavation ?locationLabel ?start ?end ?pit
?partLabel ?funderLabel ?organisedLabel ?facilitatedLabel ?directorLabel ?memberLabel
# ?member ?director  ?location ?part ?funder ?facilitated ?organised


SELECT distinct ?personLabel ?serviceLabel ?qual_propLabel  ?qualLabel  ?qual ?person ?s # ?service
WHERE {   
WHERE {   
   ?person bnwdt:P3 bnwd:Q3 . # select women
  # instance of excavation  128
   FILTER NOT EXISTS {?person bnwdt:P4 bnwd:Q12 .} #filter out project team
  ?excavation bnwdt:P12 bnwd:Q38 .
 
    optional { ?excavation bnwdt:P2 ?location .}
 
    optional { ?excavation bnwdt:P27 ?start . }
 
    optional { ?excavation bnwdt:P28 ?end . }
 
    optional { ?excavation bnwdt:P1 ?pit. }
 
    optional { ?excavation bnwdt:P4 ?part . }
 
    optional { ?excavation bnwdt:P36 ?director . } 
 
    optional { ?excavation bnwdt:P37 ?member . }
 
    optional { ?excavation bnwdt:P109 ?organised .}
 
    optional { ?excavation bnwdt:P121 ?facilitated . }
 
    optional { ?excavation bnwdt:P145 ?funder . }
 
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,en-gb". }
}
 
ORDER BY ?excavationLabel
</sparql>
 
== Professional Activities and Organisations ==
 
=== Women's service on committees etc (P102) ===
 
<sparql tryit="1">
 
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
PREFIX bnwdv: <https://beyond-notability.wikibase.cloud/value/>
PREFIX bnwdt: <https://beyond-notability.wikibase.cloud/prop/direct/>
PREFIX bnp: <https://beyond-notability.wikibase.cloud/prop/>
PREFIX bnps: <https://beyond-notability.wikibase.cloud/prop/statement/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
 
 
SELECT distinct ?personLabel ?serviceLabel ?qual_propLabel  ?qualLabel  ?qual ?person ?s # ?service
WHERE { 
   ?person bnwdt:P3 bnwd:Q3 . # select women
   FILTER NOT EXISTS {?person bnwdt:P4 bnwd:Q12 .} #filter out project team
    
    
   ?person bnp:P102 ?s .  # served on P102
   ?person bnp:P102 ?s .  # served on P102
Line 782: Line 850:
       ?s ?ps ?ppa_value.
       ?s ?ps ?ppa_value.
    
    
     # note: it would be possible to write this to use ppa rather than ppa_label
     # note: it would be possible to write this to use ppa rather than ppa_label. there's a slight risk that property names might change.
     # BUT then it would be much more opaque and difficult to edit if (when!) we make any changes to the buckets.
     # BUT then it would be much more opaque and difficult to edit if (when!) we make any changes to the buckets.
     bind(
     bind(
Line 805: Line 873:
</sparql>
</sparql>


==Place==
=== Suffrage-related activities ===
 
===People not in London linked as a graph by a NUTS region or country (excluding England) at which they were once resident in the UK===


<sparql tryit="1">
<sparql tryit="1">
# People not in London linked as a graph by a NUTS region or country (excluding England) at which they were once resident in the UK
#title:initial query for suffrage activities


PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
Line 820: Line 886:
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>


#defaultView:Graph
SELECT distinct ?person ?personLabel ?mainLabel ?sub_Label ?qualLabel ?locationLabel ?date
SELECT ?resident ?residentLabel ?region ?regionLabel
# ?pq ?sub_ ?qual ?main
?s
 
WHERE {   
WHERE {   
  ?resident bnwdt:P29 ?residence .
 
     FILTER NOT EXISTS {?resident bnwdt:P29 bnwd:Q2035 .}
    ?person bnwdt:P3 bnwd:Q3 . #select women
     FILTER NOT EXISTS {?resident bnwdt:P29 bnwd:Q2036 .}
     FILTER NOT EXISTS {?person bnwdt:P4 bnwd:Q12 .} #filter out project team
    FILTER NOT EXISTS {?resident bnwdt:P29 bnwd:Q2037 .}
 
    FILTER NOT EXISTS {?resident bnwdt:P29 bnwd:Q2038 .}
     ?person ?p ?s .
     FILTER NOT EXISTS {?resident bnwdt:P29 bnwd:Q2039 .}
 
     FILTER NOT EXISTS {?resident bnwdt:P29 bnwd:Q2040 .}
      ?s ?sub ?sub_ .
     FILTER NOT EXISTS {?resident bnwdt:P29 bnwd:Q2041 .}
        ?main wikibase:claim ?p.
    FILTER NOT EXISTS {?resident bnwdt:P29 bnwd:Q2042 .}
        ?main wikibase:statementProperty ?sub.  
     FILTER NOT EXISTS {?resident bnwdt:P29 bnwd:Q39.}
 
    FILTER NOT EXISTS {?resident bnwdt:P29 bnwd:Q2534.}  
  # sub_ i/o - some do have suffrage activity
   ?residence bnwdt:P33 ?district .
  #  optional { ?sub_ bnwdt:P12 ?sub_io . ?sub_ bnwdt:P12 bnwd:Q1166 . }
   ?district bnwdt:P33 ?county .
 
   ?county bnwdt:P33 ?region .
  # union
   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en-gb". }  
  {
     # a qualifier (anywhere) has i/o suffrage activity
      ?s bnpq:P12 bnwd:Q1166.
    }
 
# what about a main rather than qualifier having i/o suffrage activity? i don't think there are any atm but could be.
# union
#  { # this might find extra linked i/o suffrage but i'm not sure it works.
#     ?sub_ bnwdt:P12 bnwd:Q1166 .
#    }
 
  union
     {
    # does *not* have i/o suffrage activity in any qualifiers  ... slows things right down and doesn't seem to make any difference to results?
    #filter not exists { ?s bnpq:P12 bnwd:Q1166. }
 
    # ... but a qualifier *does* have i/o suffrage activity. i think!
      ?s ?pq ?qual .
        ?qual bnwdt:P12 bnwd:Q1166 .
 
      } # /union
 
  optional {
     # date qualifiers. [assumes no edtf in quals. ] all seem to be p.i.t.
        ?s ?dpq ?date . 
          ?qual_date wikibase:qualifier ?dpq .
          ?qual_date wikibase:propertyType wikibase:Time.  
  }
    
  optional { ?s bnpq:P78 ?of. }  # outside the union seems much speedier
    
  optional { ?s bnpq:P2 ?location . }
    
   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,en-gb". }
 
}
}
order by ?personLabel ?mainLabel
</sparql>
</sparql>


===People whose residence was at one time in the east or south east of England, excluding London===
==Place==
 
=== All the things in BN that can be mapped ===


<sparql tryit="1">
<sparql tryit="1">
#title:map of BN locations using wikidata P625
#defaultView:Map
#this will take a little while to run...
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
Line 852: Line 960:
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>


SELECT ?resident ?residentLabel ?residenceLabel ?districtLabel ?countyLabel ?regionLabel
SELECT distinct ?locationLabel ?location ?wikidata ?wd_geo
 
WHERE {   
WHERE {   
   ?resident bnwdt:P29 ?residence .
    
  ?residence bnwdt:P33 ?district .
      ?location bnwdt:P117 ?ws . # wikidata id       
  ?district bnwdt:P33 ?county .
       
  ?county bnwdt:P33 ?region .
        bind(iri(concat("http://www.wikidata.org/entity/", str(?ws))) as ?wikidata) .
    {?county bnwdt:P33 bnwd:Q67 .}
        SERVICE <https://query.wikidata.org/sparql> {
    UNION
            ?wikidata wdt:P625 ?wd_geo . # does the wikidata page have geocoords?
    {?county bnwdt:P33 bnwd:Q85 .}
        } # /wikidata service 
   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en-gb". }  
 
   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,en-gb". }  
}
}
ORDER BY ?regionLabel ?countyLabel ?districtLabel ?residenceLabel
ORDER BY ?wikidata ?locationLabel
</sparql>
</sparql>


===People whose residence was at one time in North East England or Yorkshire and the Humber===
===People not in London linked as a graph by a NUTS region or country (excluding England) at which they were once resident in the UK===


<sparql tryit="1">
<sparql tryit="1">
# People whose residence was at one time in North East England or Yorkshire and the Humber
# People not in London linked as a graph by a NUTS region or country (excluding England) at which they were once resident in the UK


PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
Line 879: Line 989:
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>


SELECT ?resident ?residentLabel ?residenceLabel ?districtLabel ?countyLabel ?regionLabel
#defaultView:Graph
SELECT ?resident ?residentLabel ?region ?regionLabel
WHERE {   
WHERE {   
   ?resident bnwdt:P29 ?residence .
   ?resident bnwdt:P29 ?residence .
    FILTER NOT EXISTS {?resident bnwdt:P29 bnwd:Q2035 .}
    FILTER NOT EXISTS {?resident bnwdt:P29 bnwd:Q2036 .}
    FILTER NOT EXISTS {?resident bnwdt:P29 bnwd:Q2037 .}
    FILTER NOT EXISTS {?resident bnwdt:P29 bnwd:Q2038 .}
    FILTER NOT EXISTS {?resident bnwdt:P29 bnwd:Q2039 .}
    FILTER NOT EXISTS {?resident bnwdt:P29 bnwd:Q2040 .}
    FILTER NOT EXISTS {?resident bnwdt:P29 bnwd:Q2041 .}
    FILTER NOT EXISTS {?resident bnwdt:P29 bnwd:Q2042 .}
    FILTER NOT EXISTS {?resident bnwdt:P29 bnwd:Q39.}
    FILTER NOT EXISTS {?resident bnwdt:P29 bnwd:Q2534.}
   ?residence bnwdt:P33 ?district .
   ?residence bnwdt:P33 ?district .
   ?district bnwdt:P33 ?county .
   ?district bnwdt:P33 ?county .
   ?county bnwdt:P33 ?region .
   ?county bnwdt:P33 ?region .
    {?county bnwdt:P33 bnwd:Q72 .}
    UNION
    {?county bnwdt:P33 bnwd:Q200 .}
   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en-gb". }  
   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en-gb". }  
}
}
ORDER BY ?regionLabel ?countyLabel ?districtLabel ?residenceLabel
</sparql>
</sparql>


===People not in London with the district, county, and region at which they were once resident (in the UK) listed===
===People whose residence was at one time in the east or south east of England, excluding London===


<sparql tryit="1">
<sparql tryit="1">
# People not in London with the district, county, and region at which they were once resident (in the UK) listed
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
Line 906: Line 1,021:
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>


SELECT ?resident ?residentLabel ?district ?districtLabel ?county ?countyLabel ?region ?regionLabel
SELECT ?resident ?residentLabel ?residenceLabel ?districtLabel ?countyLabel ?regionLabel
WHERE {   
WHERE {   
   ?resident bnwdt:P29 ?residence .
   ?resident bnwdt:P29 ?residence .
    FILTER NOT EXISTS {?resident bnwdt:P29 bnwd:Q2035 .}
    FILTER NOT EXISTS {?resident bnwdt:P29 bnwd:Q2036 .}
    FILTER NOT EXISTS {?resident bnwdt:P29 bnwd:Q2037 .}
    FILTER NOT EXISTS {?resident bnwdt:P29 bnwd:Q2038 .}
    FILTER NOT EXISTS {?resident bnwdt:P29 bnwd:Q2039 .}
    FILTER NOT EXISTS {?resident bnwdt:P29 bnwd:Q2040 .}
    FILTER NOT EXISTS {?resident bnwdt:P29 bnwd:Q2041 .}
    FILTER NOT EXISTS {?resident bnwdt:P29 bnwd:Q2042 .}
    FILTER NOT EXISTS {?resident bnwdt:P29 bnwd:Q39.}
    FILTER NOT EXISTS {?resident bnwdt:P29 bnwd:Q2534.}
   ?residence bnwdt:P33 ?district .
   ?residence bnwdt:P33 ?district .
   ?district bnwdt:P33 ?county .
   ?district bnwdt:P33 ?county .
   ?county bnwdt:P33 ?region .
   ?county bnwdt:P33 ?region .
    {?county bnwdt:P33 bnwd:Q67 .}
    UNION
    {?county bnwdt:P33 bnwd:Q85 .}
   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en-gb". }  
   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en-gb". }  
}
}
ORDER BY ?regionLabel ?countyLabel ?districtLabel ?residentLabel
ORDER BY ?regionLabel ?countyLabel ?districtLabel ?residenceLabel
</sparql>
</sparql>


===People sorted by the number of places they lived, including the number of cites/towns/villages they lived in===
===People whose residence was at one time in North East England or Yorkshire and the Humber===


<sparql tryit="1">
<sparql tryit="1">
# People whose residence was at one time in North East England or Yorkshire and the Humber
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
Line 938: Line 1,048:
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>


SELECT ?person ?personLabel (count(?resided) as ?residence_count) (count(distinct ?resided) as ?residence_distinct) WHERE {
SELECT ?resident ?residentLabel ?residenceLabel ?districtLabel ?countyLabel ?regionLabel
  ?person bnwdt:P3 bnwd:Q3 ;
WHERE {
        wikibase:statements ?statements .
  ?resident bnwdt:P29 ?residence .
   FILTER NOT EXISTS {?person bnwdt:P4 bnwd:Q12 .} #filter out project team
  ?residence bnwdt:P33 ?district .
  ?person bnp:P29/bnps:P29 ?resided.
  ?district bnwdt:P33 ?county .
   SERVICE wikibase:label {
   ?county bnwdt:P33 ?region .
      bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en-gb".
    {?county bnwdt:P33 bnwd:Q72 .}
  }
    UNION
} group by ?person ?personLabel ?statements order by desc(?residence_count)
    {?county bnwdt:P33 bnwd:Q200 .}
# Credit to @Tagishsimon for helping me figure out the counting logic here
   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en-gb". }
}
ORDER BY ?regionLabel ?countyLabel ?districtLabel ?residenceLabel
</sparql>
</sparql>


===Places at which women resided, sorted by how many residences all women had at a given village/town/city/London area===
===People not in London with the district, county, and region at which they were once resident (in the UK) listed===


<sparql tryit="1">
<sparql tryit="1">
# Places at which women resided, sorted by how many residences all women had at a given village/town/city/London area
# People not in London with the district, county, and region at which they were once resident (in the UK) listed


PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
Line 963: Line 1,075:
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>


SELECT ?residence ?residenceLabel (count(?residence) as ?residence_count) #count number of places at which women lived
SELECT ?resident ?residentLabel ?district ?districtLabel ?county ?countyLabel ?region ?regionLabel
WHERE {   
WHERE {   
   ?person bnwdt:P3 bnwd:Q3 . # select women
   ?resident bnwdt:P29 ?residence .
  FILTER NOT EXISTS {?person bnwdt:P4 bnwd:Q12 .} #filter out project team
    FILTER NOT EXISTS {?resident bnwdt:P29 bnwd:Q2035 .}
  ?person bnwdt:P29 ?residence . # select residences
    FILTER NOT EXISTS {?resident bnwdt:P29 bnwd:Q2036 .}
    FILTER NOT EXISTS {?resident bnwdt:P29 bnwd:Q2037 .}
    FILTER NOT EXISTS {?resident bnwdt:P29 bnwd:Q2038 .}
    FILTER NOT EXISTS {?resident bnwdt:P29 bnwd:Q2039 .}
    FILTER NOT EXISTS {?resident bnwdt:P29 bnwd:Q2040 .}
    FILTER NOT EXISTS {?resident bnwdt:P29 bnwd:Q2041 .}
    FILTER NOT EXISTS {?resident bnwdt:P29 bnwd:Q2042 .}
    FILTER NOT EXISTS {?resident bnwdt:P29 bnwd:Q39.}
    FILTER NOT EXISTS {?resident bnwdt:P29 bnwd:Q2534.}
  ?residence bnwdt:P33 ?district .
  ?district bnwdt:P33 ?county .
  ?county bnwdt:P33 ?region .
   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en-gb". }  
   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en-gb". }  
}
}
GROUP BY ?residence ?residenceLabel
ORDER BY ?regionLabel ?countyLabel ?districtLabel ?residentLabel
ORDER BY DESC(?residence_count)
</sparql>
</sparql>


===Districts in which women resided, sorted by how many residences all women had in that district (or equivalent sub-level for non-UK residences)===
===People sorted by the number of places they lived, including the number of cites/towns/villages they lived in===


<sparql tryit="1">
<sparql tryit="1">
# Districts in which women resided, sorted by how many residences all women had in that district (or equivalent sub-level for non-UK residences)
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
Line 987: Line 1,107:
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>


SELECT ?district ?districtLabel (count(?district) as ?district_count) #count number of districts in which women lived
SELECT ?person ?personLabel (count(?resided) as ?residence_count) (count(distinct ?resided) as ?residence_distinct) WHERE {
WHERE {
  ?person bnwdt:P3 bnwd:Q3 ;
  ?person bnwdt:P3 bnwd:Q3 . # select women
        wikibase:statements ?statements .
   FILTER NOT EXISTS {?person bnwdt:P4 bnwd:Q12 .} #filter out project team
   FILTER NOT EXISTS {?person bnwdt:P4 bnwd:Q12 .} #filter out project team
   ?person bnwdt:P29 ?residence . # select residences
   ?person bnp:P29/bnps:P29 ?resided.
  ?residence bnwdt:P33 ?district . #select districts
   SERVICE wikibase:label {
   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en-gb". }  
      bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en-gb".
}
  }
GROUP BY ?district ?districtLabel
} group by ?person ?personLabel ?statements order by desc(?residence_count)
ORDER BY DESC(?district_count)
# Credit to @Tagishsimon for helping me figure out the counting logic here
</sparql>
</sparql>


===Counties in which women resided, sorted by how many residences all women had in that county===
===Places at which women resided, sorted by how many residences all women had at a given village/town/city/London area===


<sparql tryit="1">
<sparql tryit="1">
# Counties in which women resided, sorted by how many residences all women had in that county
# Places at which women resided, sorted by how many residences all women had at a given village/town/city/London area


PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
Line 1,012: Line 1,132:
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>


SELECT ?county ?countyLabel (count(?county) as ?county_count) #count number of counties in which women lived  
SELECT ?residence ?residenceLabel (count(?residence) as ?residence_count) #count number of places at which women lived  
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
   ?person bnwdt:P29 ?residence . # select residences
   ?person bnwdt:P29 ?residence . # select residences
  ?residence bnwdt:P33 ?district . #select districts
  ?district bnwdt:P33 ?county . #select counties
   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en-gb". }  
   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en-gb". }  
}
}
GROUP BY ?county ?countyLabel
GROUP BY ?residence ?residenceLabel
ORDER BY DESC(?county_count)
ORDER BY DESC(?residence_count)
</sparql>
</sparql>


====Counties of residence for women recorded in CAS Indexes of Archaeological Papers, sorted by how many residences all women had in that county====
===Districts in which women resided, sorted by how many residences all women had in that district (or equivalent sub-level for non-UK residences)===


<sparql tryit="1">
<sparql tryit="1">
# Counties of residence for women recorded in CAS Indexes of Archaeological Papers, sorted by how many residences all women had in that county
# Districts in which women resided, sorted by how many residences all women had in that district (or equivalent sub-level for non-UK residences)


PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
Line 1,038: Line 1,156:
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>


SELECT ?county ?countyLabel (count(?county) as ?county_count) #count number of counties in which women lived  
SELECT ?district ?districtLabel (count(?district) as ?district_count) #count number of districts in which women lived  
WHERE {   
WHERE {   
   ?person bnwdt:P3 bnwd:Q3 . # select women
   ?person bnwdt:P3 bnwd:Q3 . # select women
  ?person bnwdt:P76 bnwd:Q419 . #select women recorded in CAS Indexes of Archaeological Papers
   FILTER NOT EXISTS {?person bnwdt:P4 bnwd:Q12 .} #filter out project team
   FILTER NOT EXISTS {?person bnwdt:P4 bnwd:Q12 .} #filter out project team
   ?person bnwdt:P29 ?residence . # select residences
   ?person bnwdt:P29 ?residence . # select residences
   ?residence bnwdt:P33 ?district . #select districts
   ?residence bnwdt:P33 ?district . #select districts
  ?district bnwdt:P33 ?county . #select counties
   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en-gb". }  
   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en-gb". }  
}
}
GROUP BY ?county ?countyLabel
GROUP BY ?district ?districtLabel
ORDER BY DESC(?county_count)
ORDER BY DESC(?district_count)
</sparql>
</sparql>


====Counties of residence for women nominated as FSAs, sorted by how many residences all women had in that county====
===Counties in which women resided, sorted by how many residences all women had in that county===


<sparql tryit="1">
<sparql tryit="1">
# Counties of residence for women nominated as FSAs, sorted by how many residences all women had in that county
# Counties in which women resided, sorted by how many residences all women had in that county


PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
Line 1,068: Line 1,184:
WHERE {   
WHERE {   
   ?person bnwdt:P3 bnwd:Q3 . # select women
   ?person bnwdt:P3 bnwd:Q3 . # select women
  ?person bnwdt:P16 ?signatory . #select women who were nominated for election to FSA
   FILTER NOT EXISTS {?person bnwdt:P4 bnwd:Q12 .} #filter out project team
   FILTER NOT EXISTS {?person bnwdt:P4 bnwd:Q12 .} #filter out project team
   ?person bnwdt:P29 ?residence . # select residences
   ?person bnwdt:P29 ?residence . # select residences
Line 1,079: Line 1,194:
</sparql>
</sparql>


====Counties of residence for women nominated to RAI, sorted by how many residences all women had in that county====
====Counties of residence for women recorded in CAS Indexes of Archaeological Papers, sorted by how many residences all women had in that county====


<sparql tryit="1">
<sparql tryit="1">
# Counties of residence for women nominated to RAI, sorted by how many residences all women had in that county
# Counties of residence for women recorded in CAS Indexes of Archaeological Papers, sorted by how many residences all women had in that county


PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
Line 1,095: Line 1,210:
WHERE {   
WHERE {   
   ?person bnwdt:P3 bnwd:Q3 . # select women
   ?person bnwdt:P3 bnwd:Q3 . # select women
   ?person bnwdt:P7 ?signatory . #select women who were nominated for election to RAI
   ?person bnwdt:P76 bnwd:Q419 . #select women recorded in CAS Indexes of Archaeological Papers
   FILTER NOT EXISTS {?person bnwdt:P4 bnwd:Q12 .} #filter out project team
   FILTER NOT EXISTS {?person bnwdt:P4 bnwd:Q12 .} #filter out project team
   ?person bnwdt:P29 ?residence . # select residences
   ?person bnwdt:P29 ?residence . # select residences
Line 1,106: Line 1,221:
</sparql>
</sparql>


====Counties of residence for women who spoke at RAI meetings, sorted by how many residences all women had in that county====
====Counties of residence for women nominated as FSAs, sorted by how many residences all women had in that county====


<sparql tryit="1">
<sparql tryit="1">
# Counties of residence for women who spoke at RAI meetings, sorted by how many residences all women had in that county
# Counties of residence for women nominated as FSAs, sorted by how many residences all women had in that county


PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
Line 1,122: Line 1,237:
WHERE {   
WHERE {   
   ?person bnwdt:P3 bnwd:Q3 . # select women
   ?person bnwdt:P3 bnwd:Q3 . # select women
   ?person bnwdt:P23 bnwd:Q29 . #select women who spoke at RAI Meeting
   ?person bnwdt:P16 ?signatory . #select women who were nominated for election to FSA
   FILTER NOT EXISTS {?person bnwdt:P4 bnwd:Q12 .} #filter out project team
   FILTER NOT EXISTS {?person bnwdt:P4 bnwd:Q12 .} #filter out project team
   ?person bnwdt:P29 ?residence . # select residences
   ?person bnwdt:P29 ?residence . # select residences
Line 1,133: Line 1,248:
</sparql>
</sparql>


====Counties of residence for women who exhibited at RAI meetings, sorted by how many residences all women had in that county====
====Counties of residence for women nominated to RAI, sorted by how many residences all women had in that county====


<sparql tryit="1">
<sparql tryit="1">
# Counties of residence for women who exhibited at RAI meetings, sorted by how many residences all women had in that county
# Counties of residence for women nominated to RAI, sorted by how many residences all women had in that county


PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
Line 1,149: Line 1,264:
WHERE {   
WHERE {   
   ?person bnwdt:P3 bnwd:Q3 . # select women
   ?person bnwdt:P3 bnwd:Q3 . # select women
   ?person bnwdt:P13 bnwd:Q29 . #select women who exhibited at RAI Meeting
   ?person bnwdt:P7 ?signatory . #select women who were nominated for election to RAI
   FILTER NOT EXISTS {?person bnwdt:P4 bnwd:Q12 .} #filter out project team
   FILTER NOT EXISTS {?person bnwdt:P4 bnwd:Q12 .} #filter out project team
   ?person bnwdt:P29 ?residence . # select residences
   ?person bnwdt:P29 ?residence . # select residences
Line 1,160: Line 1,275:
</sparql>
</sparql>


====Counties of residence for women recorded in CAS Indexes of Archaeological Papers, on a map====
====Counties of residence for women who spoke at RAI meetings, sorted by how many residences all women had in that county====


<sparql tryit="1">
<sparql tryit="1">
# Counties of residence for women who spoke at RAI meetings, sorted by how many residences all women had in that county


PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
Line 1,172: Line 1,288:
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>


#defaultView:Map{"hide":["?geo", "?wikidata"]}
SELECT ?county ?countyLabel (count(?county) as ?county_count) #count number of counties in which women lived
#title:Counties of residence for women recorded in CAS Indexes of Archaeological Papers
 
SELECT distinct ?person ?personLabel ?county ?countyLabel ?wikidata ?geo 
WHERE {   
WHERE {   
   ?person bnwdt:P3 bnwd:Q3 . # select women
   ?person bnwdt:P3 bnwd:Q3 . # select women
   ?person bnwdt:P76 bnwd:Q419 . #select women recorded in CAS Indexes of Archaeological Papers
   ?person bnwdt:P23 bnwd:Q29 . #select women who spoke at RAI Meeting
   FILTER NOT EXISTS {?person bnwdt:P4 bnwd:Q12 .} #filter out project team
   FILTER NOT EXISTS {?person bnwdt:P4 bnwd:Q12 .} #filter out project team
   ?person bnwdt:P29 ?residence . # select residences
   ?person bnwdt:P29 ?residence . # select residences
   ?residence bnwdt:P33 ?district . #select districts
   ?residence bnwdt:P33 ?district . #select districts
   ?district bnwdt:P33 ?county . #select counties
   ?district bnwdt:P33 ?county . #select counties
      optional { ?county bnwdt:P153 ?geo2 .  } # for geocoords added to BN
 
      optional {   
      ?county bnp:P117 ?ws .  # wikidata id P117       
        ?ws bnpq:P14 ?wikidata_url .
        BIND(IRI(REPLACE(?wikidata_url, "https://www.wikidata.org/wiki/", "http://www.wikidata.org/entity/")) as ?wikidata )
 
      SERVICE <https://query.wikidata.org/sparql> {
   
        optional {
          ?wikidata wdt:P625 ?geo1 .
                  BIND(geof:longitude(?geo1) AS ?long)
                  BIND(geof:latitude(?geo1)  AS ?lat)
                } # geocoords if available     
      } # /wikidata service 
      } #/wikidata optional
    BIND(COALESCE(?geo1, ?geo2) AS ?geo).  # if geo1 available use that, then try geo2
 
   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en-gb". }  
   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en-gb". }  
}
}
GROUP BY ?county ?countyLabel
ORDER BY DESC(?county_count)
</sparql>
</sparql>


====Counties of residence for women nominated as FSAs, on a map====
====Counties of residence for women who exhibited at RAI meetings, sorted by how many residences all women had in that county====


<sparql tryit="1">
<sparql tryit="1">
# Counties of residence for women who exhibited at RAI meetings, sorted by how many residences all women had in that county


PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
Line 1,218: Line 1,315:
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>


#defaultView:Map{"hide":["?geo", "?wikidata"]}
SELECT ?county ?countyLabel (count(?county) as ?county_count) #count number of counties in which women lived
#title:Counties of residence for women nominated as FSAs
 
SELECT distinct ?person ?personLabel ?county ?countyLabel ?wikidata ?geo 
WHERE {   
WHERE {   
   ?person bnwdt:P3 bnwd:Q3 . # select women
   ?person bnwdt:P3 bnwd:Q3 . # select women
   ?person bnwdt:P16 ?signatory . #select women who were nominated for election to FSA
   ?person bnwdt:P13 bnwd:Q29 . #select women who exhibited at RAI Meeting
   FILTER NOT EXISTS {?person bnwdt:P4 bnwd:Q12 .} #filter out project team
   FILTER NOT EXISTS {?person bnwdt:P4 bnwd:Q12 .} #filter out project team
   ?person bnwdt:P29 ?residence . # select residences
   ?person bnwdt:P29 ?residence . # select residences
   ?residence bnwdt:P33 ?district . #select districts
   ?residence bnwdt:P33 ?district . #select districts
   ?district bnwdt:P33 ?county . #select counties
   ?district bnwdt:P33 ?county . #select counties
      optional { ?county bnwdt:P153 ?geo2 .  } # for geocoords added to BN
 
      optional {   
      ?county bnp:P117 ?ws .  # wikidata id P117       
        ?ws bnpq:P14 ?wikidata_url .
        BIND(IRI(REPLACE(?wikidata_url, "https://www.wikidata.org/wiki/", "http://www.wikidata.org/entity/")) as ?wikidata )
 
      SERVICE <https://query.wikidata.org/sparql> {
   
        optional { ?wikidata wdt:P625 ?geo1 . } # geocoords if available     
      } # /wikidata service 
      } #/wikidata optional
    BIND(COALESCE(?geo1, ?geo2) AS ?geo).  # if geo1 available use that, then try geo2
 
   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en-gb". }  
   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en-gb". }  
}
}
GROUP BY ?county ?countyLabel
ORDER BY DESC(?county_count)
</sparql>
</sparql>


====Counties of residence for women recorded in CAS Indexes of Archaeological Papers, on a map====


==== Counties of residence for women nominated to RAI, on a map ====
<sparql tryit="1">


<sparql tryit="1">
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
Line 1,262: Line 1,342:


#defaultView:Map{"hide":["?geo", "?wikidata"]}
#defaultView:Map{"hide":["?geo", "?wikidata"]}
#title:Counties of residence for women nominated to RAI
#title:Counties of residence for women recorded in CAS Indexes of Archaeological Papers


SELECT distinct ?person ?personLabel ?county ?countyLabel ?wikidata ?geo   
SELECT distinct ?person ?personLabel ?residence ?residenceLabel ?county ?countyLabel ?wikidata ?geo   
WHERE {   
WHERE {   
   ?person bnwdt:P3 bnwd:Q3 . # select women
   ?person bnwdt:P3 bnwd:Q3 . # select women
  ?person bnwdt:P76 bnwd:Q419 . #select women recorded in CAS Indexes of Archaeological Papers
   FILTER NOT EXISTS {?person bnwdt:P4 bnwd:Q12 .} #filter out project team
   FILTER NOT EXISTS {?person bnwdt:P4 bnwd:Q12 .} #filter out project team
   ?person bnwdt:P7 ?signatory . #select women who were nominated for election to RAI
   ?person bnwdt:P29 ?residence . # select residences


  ?person bnwdt:P29 ?residence . # select residences
   ?residence bnwdt:P33 ?district . #select p33 of residence
   ?residence bnwdt:P33 ?district . #select districts
   ?district bnwdt:P33 ?next . #select p33 of district, mostly counties but a few region/outside uk
   ?district bnwdt:P33 ?county . #select counties
      optional { ?county bnwdt:P153 ?geo2 .  } # for geocoords added to BN
    
    
       optional {     
  optional {
    # is ?next a uk region?
    ?next bnwdt:P12 bnwd:Q4207 .
    BIND(BOUND(?next) AS ?region).
    }
  optional {
    # is ?next in the UK?
    ?next bnwdt:P33* bnwd:Q1741 .
    BIND(BOUND(?next) AS ?uk).
    }
 
  # if next=q4207 uk region, then use ?district for county, ifelse in uk use ?next, else not in uk use ?district.
  bind(
       if( bound(?region), ?district, # region first (because also uk)
        if( bound(?uk), ?next, # then rest of uk 
      ?district)) # then anything not in uk.
    as ?county).
 
    optional { ?county bnwdt:P153 ?geo2 .  } # for geocoords added to BN
 
    optional {     
       ?county bnp:P117 ?ws .  # wikidata id P117         
       ?county bnp:P117 ?ws .  # wikidata id P117         
         ?ws bnpq:P14 ?wikidata_url .
         ?ws bnpq:P14 ?wikidata_url .
Line 1,282: Line 1,381:
       SERVICE <https://query.wikidata.org/sparql> {
       SERVICE <https://query.wikidata.org/sparql> {
      
      
         optional { ?wikidata wdt:P625 ?geo1 . } # geocoords if available       
         optional {
          ?wikidata wdt:P625 ?geo1 .  
                  BIND(geof:longitude(?geo1) AS ?long)
                  BIND(geof:latitude(?geo1)  AS ?lat)
                } # geocoords if available       
       } # /wikidata service   
       } # /wikidata service   
       } #/wikidata optional
       } #/wikidata optional
Line 1,292: Line 1,395:
</sparql>
</sparql>


==== Counties of residence for women who spoke at RAI meetings, on a map====
====Counties of residence for women nominated as FSAs, on a map====


<sparql tryit="1">
<sparql tryit="1">
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
Line 1,304: Line 1,408:


#defaultView:Map{"hide":["?geo", "?wikidata"]}
#defaultView:Map{"hide":["?geo", "?wikidata"]}
#title:Counties of residence for women who spoke at RAI meetings
#title:Counties of residence for women nominated as FSAs


SELECT distinct ?person ?personLabel ?county ?countyLabel ?wikidata ?geo   
SELECT distinct ?person ?personLabel ?county ?countyLabel ?wikidata ?geo   
WHERE {   
WHERE {   
   ?person bnwdt:P3 bnwd:Q3 . # select women
   ?person bnwdt:P3 bnwd:Q3 . # select women
  ?person bnwdt:P16 ?signatory . #select women who were nominated for election to FSA
   FILTER NOT EXISTS {?person bnwdt:P4 bnwd:Q12 .} #filter out project team
   FILTER NOT EXISTS {?person bnwdt:P4 bnwd:Q12 .} #filter out project team
  ?person bnwdt:P23 bnwd:Q29 . #select women who spoke at RAI Meeting


   ?person bnwdt:P29 ?residence . # select residences
   ?person bnwdt:P29 ?residence . # select residences
Line 1,332: Line 1,436:
   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en-gb". }  
   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en-gb". }  
}
}
</sparql>


</sparql>


==== Counties of residence for women who exhibited at RAI meetings, on a map ====
==== Counties of residence for women nominated to RAI, on a map ====


<sparql tryit="1">
<sparql tryit="1">
#title:Counties of residence for women who exhibited at RAI meetings 
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
Line 1,349: Line 1,451:


#defaultView:Map{"hide":["?geo", "?wikidata"]}
#defaultView:Map{"hide":["?geo", "?wikidata"]}
#title:Counties of residence for women nominated to RAI


SELECT distinct ?person ?personLabel ?county ?countyLabel ?wikidata ?geo   
SELECT distinct ?person ?personLabel ?county ?countyLabel ?wikidata ?geo   
Line 1,354: Line 1,457:
   ?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
   ?person bnwdt:P13 bnwd:Q29 . #select women who exhibited at RAI Meeting
   ?person bnwdt:P7 ?signatory . #select women who were nominated for election to RAI


   ?person bnwdt:P29 ?residence . # select residences
   ?person bnwdt:P29 ?residence . # select residences
Line 1,378: Line 1,481:
</sparql>
</sparql>


==== Counties of residence for women in any of the above five categories, mapped====
==== Counties of residence for women who spoke at RAI meetings, on a map====


<sparql tryit="1">
<sparql tryit="1">
## IMPORTANT: LIMITATIONS OF THE MAP
## Only the top category of activity (layer) can be seen when all are selected (the default)
## To see each layer, you need to deselect all in the layers menu (diamond shaped icon, top right corner of the map) and view one layer at a time. Unfortunately this is the only way to compare them at the moment.
## (But I'll look into how I might be able to improve on this)
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
Line 1,395: Line 1,492:
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>


#title:Counties of residence for women who were nominated for election or had publications recorded or spoke/exhibited at RAI
#defaultView:Map{"hide":["?geo", "?wikidata"]}
#defaultView:Map{"hide":["?geo", "?wikidata"]}
#title:Counties of residence for women who spoke at RAI meetings


SELECT distinct ?county ?countyLabel ?wikidata ?geo  ?layer  #?person ?personLabel
SELECT distinct ?person ?personLabel ?county ?countyLabel ?wikidata ?geo   
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
  ?person bnwdt:P23 bnwd:Q29 . #select women who spoke at RAI Meeting
  {
 
    #women who were nominated for election to FSA | RAI
    ?person ( bnp:P16 | bnp:P7 ) ?stmt . 
  }
  union
  {
    # women with publications recorded in indexes of archaeological papers
    ?person bnp:P76 ?stmt .
        ?stmt bnps:P76 bnwd:Q419 .
  }
  union
  {
    # women who spoke|exhibited at RAI Meeting
    ?person (bnp:P23 | bnp:P13) ?stmt . 
      ?stmt (bnps:P23 | bnps:P13) bnwd:Q29 .
  }
 
  # get the p labels for layers
  ?person ?p ?stmt . 
  ?claim wikibase:claim ?p;
        rdfs:label ?layer. filter(lang(?layer)="en-gb").
 
  # get geo stuff
   ?person bnwdt:P29 ?residence . # select residences
   ?person bnwdt:P29 ?residence . # select residences
   ?residence bnwdt:P33 ?district . #select districts
   ?residence bnwdt:P33 ?district . #select districts
Line 1,437: Line 1,512:
    
    
       SERVICE <https://query.wikidata.org/sparql> {
       SERVICE <https://query.wikidata.org/sparql> {
   
         optional { ?wikidata wdt:P625 ?geo1 . } # geocoords if available       
         optional { ?wikidata wdt:P625 ?geo1 . } # geocoords if available       
       } # /wikidata service   
       } # /wikidata service   
       } #/wikidata optional
       } #/wikidata optional


     BIND(COALESCE(?geo1, ?geo2) AS ?geo).  # if geo1 available use it, if not try geo2
     BIND(COALESCE(?geo1, ?geo2) AS ?geo).  # if geo1 available use that, then try geo2
 
   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en-gb". }  
   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en-gb". }  
}
}
order by ?layer
 
</sparql>
</sparql>


===Regions in which women resided, sorted by how many residences all women had in that region===
==== Counties of residence for women who exhibited at RAI meetings, on a map ====


<sparql tryit="1">
<sparql tryit="1">
# Regions in which women resided, sorted by how many residences all women had in that region
#title:Counties of residence for women who exhibited at RAI meetings 


PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
Line 1,460: Line 1,537:
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>


SELECT ?region ?regionLabel (count(?region) as ?region_count) #count number of regions in which women lived
#defaultView:Map{"hide":["?geo", "?wikidata"]}
 
SELECT distinct ?person ?personLabel ?county ?countyLabel ?wikidata ?geo 
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
  ?person bnwdt:P13 bnwd:Q29 . #select women who exhibited at RAI Meeting
   ?person bnwdt:P29 ?residence . # select residences
   ?person bnwdt:P29 ?residence . # select residences
   ?residence bnwdt:P33 ?district . #select districts
   ?residence bnwdt:P33 ?district . #select districts
   ?district bnwdt:P33 ?county . #select counties
   ?district bnwdt:P33 ?county . #select counties
  ?county bnwdt:P33 ?region . #select region
      optional { ?county bnwdt:P153 ?geo2 . } # for geocoords added to BN
   FILTER NOT EXISTS {?region bnwdt:P117 "Q145" .} #filter out UK (where UK is sub-region of NI)
    
      optional {    
      ?county bnp:P117 ?ws .  # wikidata id P117       
        ?ws bnpq:P14 ?wikidata_url .
        BIND(IRI(REPLACE(?wikidata_url, "https://www.wikidata.org/wiki/", "http://www.wikidata.org/entity/")) as ?wikidata )
 
      SERVICE <https://query.wikidata.org/sparql> {
   
        optional { ?wikidata wdt:P625 ?geo1 . } # geocoords if available     
      } # /wikidata service 
      } #/wikidata optional
 
    BIND(COALESCE(?geo1, ?geo2) AS ?geo).  # if geo1 available use that, then try geo2
 
   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en-gb". }  
   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en-gb". }  
}
}
GROUP BY ?region ?regionLabel
ORDER BY DESC(?region_count)
</sparql>
</sparql>


==== Counties of residence for women in any of the above five categories, mapped====
<sparql tryit="1">


=== Women living in London during the 1890s ===
## IMPORTANT: LIMITATIONS OF THE MAP
## Only the top category of activity (layer) can be seen when all are selected (the default)
## To see each layer, you need to deselect all in the layers menu (diamond shaped icon, top right corner of the map) and view one layer at a time. Unfortunately this is the only way to compare them at the moment.
## (But I'll look into how I might be able to improve on this)


<sparql tryit="1">
#title:Women living in 1890s London
# Query for women living in (greater) london in the 1890s
# 1 row per person per address per date, could be reduced to 1 row per person if preferred.
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
Line 1,490: Line 1,584:
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>


SELECT distinct ?personLabel ?date_label ?date ?person ?address ?address_item ?londonLabel ?geo ?long ?lat
#title:Counties of residence for women who were nominated for election or had publications recorded or spoke/exhibited at RAI
#defaultView:Map{"hide":["?geo", "?wikidata"]}


SELECT distinct  ?county ?countyLabel ?wikidata ?geo  ?layer  #?person ?personLabel
WHERE {   
WHERE {   
   ?person bnwdt:P3 bnwd:Q3 . # women
   ?person bnwdt:P3 bnwd:Q3 . # select women
   ?person bnp:P29 ?s .  # resided at
   FILTER NOT EXISTS {?person bnwdt:P4 bnwd:Q12 .} #filter out project team
    ?s bnps:P29 ?london .
      ?london bnwdt:P33+ bnwd:Q322 . # in Q322 greater london.
  {
 
     #women who were nominated for election to FSA | RAI
     # optional street address (text)
     ?person ( bnp:P16 | bnp:P7 ) ?stmt .  
  optional {
  }
     ?s bnpq:P31 ?address .
   union
    }
   {
   # optional street address (item)
    # women with publications recorded in indexes of archaeological papers
   optional {
     ?person bnp:P76 ?stmt .  
     ?s bnpq:P100 ?address_item .
        ?stmt bnps:P76 bnwd:Q419 .
    }  
  }
 
  union
   # dates. About 30? not dated.
   {
     #optional {
     # women who spoke|exhibited at RAI Meeting
     ?s ?pq ?date .  
     ?person (bnp:P23 | bnp:P13) ?stmt . 
    # ?date wikibase:timeValue ?date_value. # if you don't want date label this should work instead
      ?stmt (bnps:P23 | bnps:P13) bnwd:Q29 .  
     
  }
      ?qual_prop wikibase:qualifier ?pq;
 
              wikibase:propertyType wikibase:Time ; # nb excludes edtf dates
  # get the p labels for layers
              rdfs:label ?date_label . filter(lang(?date_label)="en-gb") . # what kind of date is it.
  ?person ?p ?stmt .
    #  } # /dates
  ?claim wikibase:claim ?p;
        rdfs:label ?layer. filter(lang(?layer)="en-gb").
    
    
    # filter 1890-1899    
  # get geo stuff
   FILTER("1890-01-01"^^xsd:dateTime <= ?date && ?date < "1899-12-31"^^xsd:dateTime).
  ?person bnwdt:P29 ?residence . # select residences
 
  ?residence bnwdt:P33 ?district . #select districts
   ?district bnwdt:P33 ?county . #select counties
      optional { ?county bnwdt:P153 ?geo2 .  } # for geocoords added to BN
    
      optional {   
      ?county bnp:P117 ?ws .  # wikidata id P117       
        ?ws bnpq:P14 ?wikidata_url .
        BIND(IRI(REPLACE(?wikidata_url, "https://www.wikidata.org/wiki/", "http://www.wikidata.org/entity/")) as ?wikidata )  
    
    
  # address geocoordinates
      SERVICE <https://query.wikidata.org/sparql> {
  optional {  
        optional { ?wikidata wdt:P625 ?geo1 . } # geocoords if available     
    ?s ?pqq ?geo .
      } # /wikidata service 
        ?qual_geo wikibase:qualifier ?pqq;
      } #/wikidata optional
                  wikibase:propertyType wikibase:GlobeCoordinate.
        BIND(geof:longitude(?geo) AS ?long)
        BIND(geof:latitude(?geo)  AS ?lat)
            }
 
  # todo booth codes


    BIND(COALESCE(?geo1, ?geo2) AS ?geo).  # if geo1 available use it, if not try geo2
   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en-gb". }  
   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en-gb". }  
}
}
ORDER BY ?person ?date
order by ?layer
 
</sparql>
</sparql>


==== Map of Women living in 1890s London ====
===Regions in which women resided, sorted by how many residences all women had in that region===


<sparql tryit="1">
<sparql tryit="1">
#title:Women living in 1890s London
# Regions in which women resided, sorted by how many residences all women had in that region
# Query for women living in (greater) london in the 1890s
 
# 1 row per person per address per date, could be reduced to 1 row per person if preferred.
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
Line 1,552: Line 1,649:
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>


#defaultView:Map
SELECT ?region ?regionLabel (count(?region) as ?region_count) #count number of regions in which women lived
SELECT distinct ?personLabel ?date_label ?date ?person ?address ?address_item ?londonLabel ?geo ?long ?lat
 
WHERE {   
WHERE {   
   ?person bnwdt:P3 bnwd:Q3 . # women
  ?person bnwdt:P3 bnwd:Q3 . # select women
  FILTER NOT EXISTS {?person bnwdt:P4 bnwd:Q12 .} #filter out project team
  ?person bnwdt:P29 ?residence . # select residences
  ?residence bnwdt:P33 ?district . #select districts
  ?district bnwdt:P33 ?county . #select counties
  ?county bnwdt:P33 ?region . #select region
  FILTER NOT EXISTS {?region bnwdt:P117 "Q145" .} #filter out UK (where UK is sub-region of NI)
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en-gb". }
}
GROUP BY ?region ?regionLabel
ORDER BY DESC(?region_count)
</sparql>
 
 
=== Women living in London during the 1890s ===
 
<sparql tryit="1">
#title:Women living in 1890s London
# Query for women living in (greater) london in the 1890s
# 1 row per person per address per date, could be reduced to 1 row per person if preferred.
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
PREFIX bnwdv: <https://beyond-notability.wikibase.cloud/value/>
PREFIX bnwdt: <https://beyond-notability.wikibase.cloud/prop/direct/>
PREFIX bnp: <https://beyond-notability.wikibase.cloud/prop/>
PREFIX bnps: <https://beyond-notability.wikibase.cloud/prop/statement/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
 
SELECT distinct ?personLabel ?date_label ?date ?person ?address ?address_item ?londonLabel ?geo ?long ?lat
 
WHERE { 
   ?person bnwdt:P3 bnwd:Q3 . # women
   ?person bnp:P29 ?s .  # resided at
   ?person bnp:P29 ?s .  # resided at
     ?s bnps:P29 ?london .  
     ?s bnps:P29 ?london .  
Line 1,598: Line 1,724:
}
}
ORDER BY ?person ?date
ORDER BY ?person ?date
</sparql>
</sparql>


=== Where did women who published in Folklore/Folk-lore Record live? ===
==== Map of Women living in 1890s London ====


<sparql tryit="1">
<sparql tryit="1">
# Map of all places of residence for women who had publications in Folklore/Folk-lore Record
#title:Women living in 1890s London
# Query for women living in (greater) london in the 1890s
# 1 row per person per address per date, could be reduced to 1 row per person if preferred.
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
Line 1,612: Line 1,741:
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>


#defaultView:Map{"hide":["?geo", "?count"]}
#defaultView:Map
SELECT distinct ?personLabel ?date_label ?date ?person ?address ?address_item ?londonLabel ?geo ?long ?lat


SELECT  ?person ?personLabel ?residenceLabel ?residence ?geo (count( ?person) as ?count)  #(concat(str(?count), " publication") as ?count_lbl)
WHERE {   
WHERE {   
   ?person bnwdt:P3 bnwd:Q3 . # select women
   ?person bnwdt:P3 bnwd:Q3 . # women
  FILTER NOT EXISTS {?person bnwdt:P4 bnwd:Q12 .} #filter out project team
   ?person bnp:P29 ?s .  # resided at
  ?person bnwdt:P76 bnwd:Q419 . # people with publications listed in indexes of archaeological papers. [262]
    ?s bnps:P29 ?london .  
   ?person bnp:P76 ?s .
       ?london bnwdt:P33+ bnwd:Q322 . # in Q322 greater london.  
 
   ## works published in P101. folklore / folk-lore record q487 q490
      ?s bnpq:P101 ?in .  
       {?s bnpq:P101 bnwd:Q487 } union { ?s bnpq:P101 bnwd:Q490 . }
      # why does above pick up these two journals as well?
      FILTER ( ?in not in ( bnwd:Q665 , bnwd:Q636 ) ) .
 
  ?person bnwdt:P29  ?residence .  
      optional { ?residence bnwdt:P153 ?geo2 .  } # for geocoords added to BN


  optional {
    # optional street address (text)
   
  optional {
      ?residence bnp:P117 ?ws . # wikidata id P117
    ?s bnpq:P31 ?address .
           
    }
        ?ws bnpq:P14 ?wikidata_url .
  # optional street address (item)
        BIND(IRI(REPLACE(?wikidata_url, "https://www.wikidata.org/wiki/", "http://www.wikidata.org/entity/")) as ?wikidata )
  optional {
    
    ?s bnpq:P100 ?address_item .
      SERVICE <https://query.wikidata.org/sparql> {
    }   
   
 
      optional {?wikidata wdt:P625 ?geo1 .  } # geocoords if available
  # dates. About 30? not dated.
     
    #optional {
      } # /wikidata service    
    ?s ?pq ?date .  
    } #/wikidata optional
    # ?date wikibase:timeValue ?date_value. # if you don't want date label this should work instead
     
      ?qual_prop wikibase:qualifier ?pq;
              wikibase:propertyType wikibase:Time ; # nb excludes edtf dates
              rdfs:label ?date_label . filter(lang(?date_label)="en-gb") . # what kind of date is it.
    #  } # /dates
 
    # filter 1890-1899    
  FILTER("1890-01-01"^^xsd:dateTime <= ?date && ?date < "1899-12-31"^^xsd:dateTime).
 
 
  # address geocoordinates
  optional {  
    ?s ?pqq ?geo .
        ?qual_geo wikibase:qualifier ?pqq;
                  wikibase:propertyType wikibase:GlobeCoordinate.
        BIND(geof:longitude(?geo) AS ?long)
        BIND(geof:latitude(?geo) AS ?lat)
            }
 
   # todo booth codes


    BIND(COALESCE(?geo1, ?geo2) AS ?geo).  # if geo1 available use that, then try geo2
 
   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en-gb". }  
   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en-gb". }  
}
}
group by ?person ?personLabel ?residenceLabel ?residence ?geo
ORDER BY ?person ?date
ORDER BY ?geo
</sparql>
</sparql>


 
=== Where did women who published in Folklore/Folk-lore Record live? ===
=== BN people and other things located near Devizes ===


<sparql tryit="1">
<sparql tryit="1">
## testing use of geof:distance
# Map of all places of residence for women who had publications in Folklore/Folk-lore Record
#title:BN items located within 30 km of Devizes, Wiltshire
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
Line 1,665: Line 1,800:
PREFIX bnps: <https://beyond-notability.wikibase.cloud/prop/statement/>
PREFIX bnps: <https://beyond-notability.wikibase.cloud/prop/statement/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
#defaultView:Map
 
SELECT distinct ?item ?itemLabel ?locationLabel ?location ?wikidata ?wd_geo ?wd_long ?wd_lat 
#defaultView:Map{"hide":["?geo", "?count"]}
 
SELECT ?person ?personLabel ?residenceLabel ?residence ?geo (count( ?person) as ?count)  #(concat(str(?count), " publication") as ?count_lbl)
WHERE {   
WHERE {   
  ?person bnwdt:P3 bnwd:Q3 . # select women
  FILTER NOT EXISTS {?person bnwdt:P4 bnwd:Q12 .} #filter out project team
  ?person bnwdt:P76 bnwd:Q419 . # people with publications listed in indexes of archaeological papers. [262]
  ?person bnp:P76 ?s . 
    
    
   {?item bnwdt:P29  ?location . } # resided at location
   ## works published in P101. folklore / folk-lore record q487 q490
  #union
      ?s bnpq:P101 ?in .  
  #{?location bnwdt:P12 bnwd:Q2147 .} # OR location has instance of locality. is there a way to get this in the same structure?
      {?s bnpq:P101 bnwd:Q487 } union { ?s bnpq:P101 bnwd:Q490 . }
  union
      # why does above pick up these two journals as well?
  {?item bnwdt:P2  ?location . } # item has property P2 location
      FILTER ( ?in not in ( bnwd:Q665 , bnwd:Q636 ) ) .
  # any other possibles ?  
    
    
   ## limit to places in admin territory p33 england q617. (keep numbers down to avoid wikidata timing out) 
   ?person bnwdt:P29  ?residence .  
  ?location bnwdt:P33+ bnwd:Q617.
      optional { ?residence bnwdt:P153 ?geo2 . } # for geocoords added to BN
  ?location bnwdt:P117 ?ws .  # wikidata id  
 
  optional {
   
      ?residence bnp:P117 ?ws .  # wikidata id P117
           
        ?ws bnpq:P14 ?wikidata_url .
        BIND(IRI(REPLACE(?wikidata_url, "https://www.wikidata.org/wiki/", "http://www.wikidata.org/entity/")) as ?wikidata )
    
    
    bind(iri(concat("http://www.wikidata.org/entity/", str(?ws))) as ?wikidata) .
      SERVICE <https://query.wikidata.org/sparql> {
        SERVICE <https://query.wikidata.org/sparql> {
   
            wd:Q1026699 wdt:P625 ?start. # devizes coordinates
      optional {?wikidata wdt:P625 ?geo1 . } # geocoords if available
            ?wikidata wdt:P625 ?wd_geo .
     
                      #BIND(geof:longitude(?wd_geo) AS ?wd_long) .
      } # /wikidata service 
                      #BIND(geof:latitude(?wd_geo) AS ?wd_lat) .
    } #/wikidata optional
              FILTER(geof:distance(?wd_geo, ?start) < 30). # < 30 km from ?start. 
 
        } # /wikidata service   
    BIND(COALESCE(?geo1, ?geo2) AS ?geo). # if geo1 available use that, then try geo2
    
    
   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,en-gb". }  
   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en-gb". }  
}
}
ORDER BY ?locationLabel
group by ?person ?personLabel ?residenceLabel ?residence ?geo
ORDER BY ?geo
</sparql>
</sparql>


=== BN items near a chosen location ===
 
=== BN people and other things located near Devizes ===


<sparql tryit="1">
<sparql tryit="1">
 
## testing use of geof:distance
#title:a map of BN items near a chosen starting point in the UK
#title:BN items located within 30 km of Devizes, Wiltshire
#defaultView:Map
 
## create a thingy for the start point change the Qxxx ID in the following PREFIX var_start line to chosen location. 
## **MUST** a) be in UK and b) have a wikidata item that has coordinate location!
 
PREFIX var_start: <https://beyond-notability.wikibase.cloud/entity/Q5>  # (Q5=sheffield)
 
## to change the distance you can edit the filter(?distance < xx) line near the end of the query.
 
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
Line 1,715: Line 1,854:
PREFIX bnps: <https://beyond-notability.wikibase.cloud/prop/statement/>
PREFIX bnps: <https://beyond-notability.wikibase.cloud/prop/statement/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
 
#defaultView:Map
## TODO is there a way to get the location itemLabel and use it in the map title...
SELECT distinct ?item ?itemLabel ?locationLabel ?location ?wikidata ?wd_geo ?wd_long ?wd_lat   
 
SELECT distinct ?item ?itemLabel ?locationLabel ?location ?wikidata ?wd_geo ?distance #?wd_long ?wd_lat   
WHERE {   
WHERE {   
  var_start: bnwdt:P117 ?start_wd_id .
  bind(iri(concat("http://www.wikidata.org/entity/", str(?start_wd_id))) as ?start_wd) .
    
    
   {?item bnwdt:P29  ?location . } # resided at location
   {?item bnwdt:P29  ?location . } # resided at location
  #union
  #{?location bnwdt:P12 bnwd:Q2147 .} # OR location has instance of locality. is there a way to get this in the same structure?
   union
   union
   {?item bnwdt:P2  ?location . } # item has property P2 location
   {?item bnwdt:P2  ?location . } # item has property P2 location
   # other possibles ?  
   # any other possibles ?  
    
    
   ## limit to places in admin territory p33 uk q1741 seems ok. put it back to england q617 if there are any timeout problems. (keep numbers down to avoid wikidata timing out)  
   ## limit to places in admin territory p33 england q617. (keep numbers down to avoid wikidata timing out)
   ?location bnwdt:P33+ bnwd:Q1741.
   ?location bnwdt:P33+ bnwd:Q617.
   ?location bnwdt:P117 ?ws .  # wikidata id   
   ?location bnwdt:P117 ?ws .  # wikidata id   
 
     bind(iri(concat("http://www.wikidata.org/entity/", str(?ws))) as ?wikidata) .
     bind(iri(concat("http://www.wikidata.org/entity/", str(?ws))) as ?wikidata) .
 
         SERVICE <https://query.wikidata.org/sparql> {
         SERVICE <https://query.wikidata.org/sparql> {
             ?start_wd wdt:P625 ?start. # start_wd coordinates.
             wd:Q1026699 wdt:P625 ?start. # devizes coordinates
             ?wikidata wdt:P625 ?wd_geo .  
             ?wikidata wdt:P625 ?wd_geo .
        } # /wikidata service 
                      #BIND(geof:longitude(?wd_geo) AS ?wd_long) .
 
                      #BIND(geof:latitude(?wd_geo)  AS ?wd_lat) .
    #BIND(geof:longitude(?wd_geo) AS ?wd_long) .
              FILTER(geof:distance(?wd_geo, ?start) < 30). # < 30 km from ?start. 
    #BIND(geof:latitude(?wd_geo)  AS ?wd_lat) .
        } # /wikidata service   
    bind(geof:distance(?wd_geo, ?start) as ?distance).
 
    FILTER(?distance < 40). # < xx km from start_wd
    
    
   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,en-gb". }  
   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,en-gb". }  
}
}
ORDER BY ?locationLabel
ORDER BY ?locationLabel
</sparql>
</sparql>


=== Locations of BN excavations ===
=== BN items near a chosen location ===


<sparql tryit="1">
<sparql tryit="1">
#title:Locations of BN excavations
 
#title:a map of BN items near a chosen starting point in the UK
#defaultView:Map
 
## create a thingy for the start point change the Qxxx ID in the following PREFIX var_start line to chosen location. 
## **MUST** a) be in UK and b) have a wikidata item that has coordinate location!
 
PREFIX var_start: <https://beyond-notability.wikibase.cloud/entity/Q5>  # (Q5=sheffield)
 
## to change the distance you can edit the filter(?distance < xx) line near the end of the query.
 
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
Line 1,761: Line 1,904:
PREFIX bnps: <https://beyond-notability.wikibase.cloud/prop/statement/>
PREFIX bnps: <https://beyond-notability.wikibase.cloud/prop/statement/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
#defaultView:Map
 
SELECT distinct ?item ?itemLabel ?locationLabel ?location ?adminterr ?wikidata ?wd_geo  
## TODO is there a way to get the location itemLabel and use it in the map title...
 
SELECT distinct ?item ?itemLabel ?locationLabel ?location ?wikidata ?wd_geo ?distance #?wd_long ?wd_lat 
WHERE {   
WHERE {   
   ?item bnwdt:P12 bnwd:Q38 .
   var_start: bnwdt:P117 ?start_wd_id .
 
   bind(iri(concat("http://www.wikidata.org/entity/", str(?start_wd_id))) as ?start_wd) .  
  {
   ?item bnwdt:P2  ?location . # item has property P2 location
    
    
   optional { ?location bnwdt:P33 ?adminterr .  
   {?item bnwdt:P29  ?location . } # resided at location
              ?adminterr bnwdt:P117 ?wsa . # and has wikidata id    
  union
  {?item bnwdt:P2  ?location . } # item has property P2 location
   # other possibles ?
    
    
            bind(iri(concat("http://www.wikidata.org/entity/", str(?wsa))) as ?wikidataa) .
  ## limit to places in admin territory p33 uk q1741 seems ok. put it back to england q617 if there are any timeout problems. (keep numbers down to avoid wikidata timing out)
              SERVICE <https://query.wikidata.org/sparql> {
  ?location bnwdt:P33+ bnwd:Q1741.
              ?wikidataa wdt:P625 ?wd_geo2 . 
  ?location bnwdt:P117 ?ws .  # wikidata id 
            } # /wikidata service   
    bind(iri(concat("http://www.wikidata.org/entity/", str(?ws))) as ?wikidata) .
          }
    
    
  optional {
  ?location bnwdt:P117 ?ws .  # and has wikidata id 
 
    bind(iri(concat("http://www.wikidata.org/entity/", str(?ws))) as ?wikidata) .
         SERVICE <https://query.wikidata.org/sparql> {
         SERVICE <https://query.wikidata.org/sparql> {
             ?wikidata wdt:P625 ?wd_geo1 .  
             ?start_wd wdt:P625 ?start. # start_wd coordinates.
        } # /wikidata service   
            ?wikidata wdt:P625 ?wd_geo .  
    }
        } # /wikidata service 
  }
  union
  {
 
  filter not exists {?item bnwdt:P2  ?location . } # item doesn't have property P2 location
 
  optional {
  ?item bnwdt:P117 ?wikidata_id .  # but has wikidata id 
  bind(iri(concat("http://www.wikidata.org/entity/", str(?wikidata_id))) as ?wikidata) .
    
    
  SERVICE <https://query.wikidata.org/sparql> {
    #BIND(geof:longitude(?wd_geo) AS ?wd_long) .
              ?wikidata wdt:P625 ?wd_geo1 .  
    #BIND(geof:latitude(?wd_geo)  AS ?wd_lat) .
            } # /wikidata service   
    bind(geof:distance(?wd_geo, ?start) as ?distance).  
    }


  }
    FILTER(?distance < 40). # < xx km from start_wd
  BIND(COALESCE(?wd_geo1, ?wd_geo2) AS ?wd_geo). # if geo1 available use that, then try geo2
    
    
   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,en-gb". }  
   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,en-gb". }  
}
}
ORDER BY ?locationLabel
ORDER BY ?locationLabel
</sparql>
</sparql>


=== Locations of archaeological sites ===
=== Locations of BN excavations ===


<sparql tryit="1">
<sparql tryit="1">
#title:Locations of BN archaeological sites
#title:Locations of BN excavations
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
Line 1,821: Line 1,951:
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
#defaultView:Map
#defaultView:Map
SELECT distinct ?item ?itemLabel ?locationLabel ?location ?adminterrLabel ?adminterr ?wikidata ?wd_geo  
SELECT distinct ?item ?itemLabel ?locationLabel ?location ?adminterr ?wikidata ?wd_geo  
WHERE {   
WHERE {   
   ?item bnwdt:P12 bnwd:Q86 .
   ?item bnwdt:P12 bnwd:Q38 .
 
 
   {
   {
    ?item bnwdt:P2  ?location .  # item has property P2 location
  ?item bnwdt:P2  ?location .  # item has property P2 location
    
    
   optional { ?location bnwdt:P33 ?adminterr .  
   optional { ?location bnwdt:P33 ?adminterr .  
Line 1,842: Line 1,972:
     bind(iri(concat("http://www.wikidata.org/entity/", str(?ws))) as ?wikidata) .
     bind(iri(concat("http://www.wikidata.org/entity/", str(?ws))) as ?wikidata) .
         SERVICE <https://query.wikidata.org/sparql> {
         SERVICE <https://query.wikidata.org/sparql> {
             ?wikidata wdt:P625 ?wd_geo1 .
             ?wikidata wdt:P625 ?wd_geo1 .  
         } # /wikidata service     
         } # /wikidata service     
    }
   }
   }
   
    }
 
   union
   union
 
   {
   {
      filter not exists {?item bnwdt:P2  ?location . } # item doesn't have property P2 location
 
 
  filter not exists {?item bnwdt:P2  ?location . } # item doesn't have property P2 location


  optional {
   ?item bnwdt:P117 ?wikidata_id .  # but has wikidata id   
   ?item bnwdt:P117 ?wikidata_id .  # but has wikidata id   
   bind(iri(concat("http://www.wikidata.org/entity/", str(?wikidata_id))) as ?wikidata) .
   bind(iri(concat("http://www.wikidata.org/entity/", str(?wikidata_id))) as ?wikidata) .
    
    
   SERVICE <https://query.wikidata.org/sparql> {
   SERVICE <https://query.wikidata.org/sparql> {
               ?wikidata wdt:P625 ?wd_geo1 .  # which has geo coords
               ?wikidata wdt:P625 ?wd_geo1 .   
             } # /wikidata service     
             } # /wikidata service     
    }
   }
   }
   
   BIND(COALESCE(?wd_geo1, ?wd_geo2) AS ?wd_geo).  # if geo1 available use that, then try geo2
   BIND(COALESCE(?wd_geo1, ?wd_geo2) AS ?wd_geo).  # if geo1 available use that, then try geo2
    
    
Line 1,869: Line 1,998:
</sparql>
</sparql>


=== Locations of historic houses ===
=== Locations of archaeological sites ===


<sparql tryit="1">
<sparql tryit="1">
#title:locations of BN historic houses
#title:Locations of BN archaeological sites
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
Line 1,881: Line 2,010:
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
#defaultView:Map
#defaultView:Map
SELECT distinct ?item ?itemLabel ?locationLabel ?location ?wikidata ?wd_geo  
SELECT distinct ?item ?itemLabel ?locationLabel ?location ?adminterrLabel ?adminterr ?wikidata ?wd_geo  
WHERE {   
WHERE {   
   ?item bnwdt:P12 bnwd:Q2961 .
   ?item bnwdt:P12 bnwd:Q86 .
  {
  ?item bnwdt:P2  ?location .  # item has property P2 location
    
    
  { 
    ?item bnwdt:P2  ?location .  # item has property P2 location
    
    
   optional { ?location bnwdt:P33 ?adminterr .  
   optional { ?location bnwdt:P33 ?adminterr .  
Line 1,902: Line 2,031:
     bind(iri(concat("http://www.wikidata.org/entity/", str(?ws))) as ?wikidata) .
     bind(iri(concat("http://www.wikidata.org/entity/", str(?ws))) as ?wikidata) .
         SERVICE <https://query.wikidata.org/sparql> {
         SERVICE <https://query.wikidata.org/sparql> {
             ?wikidata wdt:P625 ?wd_geo1 .  
             ?wikidata wdt:P625 ?wd_geo1 .
         } # /wikidata service     
         } # /wikidata service     
   }
   }
   
    }
 
  union
 
  {
      filter not exists {?item bnwdt:P2  ?location . } # item doesn't have property P2 location


  }
  union
  {
 
  filter not exists {?item bnwdt:P2  ?location . } # item doesn't have property P2 location


   ?item bnwdt:P117 ?wikidata_id .  # but has wikidata id   
   ?item bnwdt:P117 ?wikidata_id .  # but has wikidata id   
Line 1,916: Line 2,047:
    
    
   SERVICE <https://query.wikidata.org/sparql> {
   SERVICE <https://query.wikidata.org/sparql> {
               ?wikidata wdt:P625 ?wd_geo1 .   
               ?wikidata wdt:P625 ?wd_geo1 .  # which has geo coords
             } # /wikidata service     
             } # /wikidata service     
   }
   }
   
  BIND(COALESCE(?wd_geo1, ?wd_geo2) AS ?wd_geo).  # if geo1 available use that, then try geo2
    
    
  BIND(COALESCE(?wd_geo1, ?wd_geo2) AS ?wd_geo).  # if geo1 available use that, then try geo2 
           
             
   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,en-gb". }  
   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,en-gb". }  
}
}
Line 1,930: Line 2,058:
</sparql>
</sparql>


=== Residences of women participants in Colchester excavations ===
=== Locations of historic houses ===


<sparql tryit="1">
<sparql tryit="1">
#title:Excavations at Colchester: where women participants lived
#title:locations of BN historic houses
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
Line 1,942: Line 2,070:
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
#defaultView:Map
#defaultView:Map
SELECT distinct ?item ?itemLabel ?locationLabel ?location ?person ?personLabel ?resided ?residedLabel ?wd_geo
SELECT distinct ?item ?itemLabel ?locationLabel ?location ?wikidata ?wd_geo  
WHERE {   
WHERE {   
  values (?item) { (bnwd:Q90) }  # q90 colchester 
   ?item bnwdt:P12 bnwd:Q2961 .
 
  {
   ?item bnwdt:P12 bnwd:Q38 .  
   ?item bnwdt:P2  ?location .  # item has property P2 location
   ?item bnwdt:P2  ?location .  # item has property P2 location
    
    
  ?item (bnwdt:P36 | bnwdt:P37 ) ?person .
  #optional { ?item bnwdt:P36 ?director . }
  #optional { ?item bnwdt:P37 ?member . }
    
    
   optional { ?person bnwdt:P29 ?resided .  
   optional { ?location bnwdt:P33 ?adminterr .  
               ?resided bnwdt:P117 ?wsa .  # and has wikidata id   
               ?adminterr bnwdt:P117 ?wsa .  # and has wikidata id   
    
    
             bind(iri(concat("http://www.wikidata.org/entity/", str(?wsa))) as ?wikidataa) .
             bind(iri(concat("http://www.wikidata.org/entity/", str(?wsa))) as ?wikidataa) .
               SERVICE <https://query.wikidata.org/sparql> {
               SERVICE <https://query.wikidata.org/sparql> {
               ?wikidataa wdt:P625 ?wd_geo .   
               ?wikidataa wdt:P625 ?wd_geo2 .   
             } # /wikidata service     
             } # /wikidata service     
           }
           }
    
    
  optional {
  ?location bnwdt:P117 ?ws .  # and has wikidata id 
    
    
    bind(iri(concat("http://www.wikidata.org/entity/", str(?ws))) as ?wikidata) .
        SERVICE <https://query.wikidata.org/sparql> {
            ?wikidata wdt:P625 ?wd_geo1 . 
        } # /wikidata service   
  }
  }
  union
  {
 
  filter not exists {?item bnwdt:P2  ?location . } # item doesn't have property P2 location
  ?item bnwdt:P117 ?wikidata_id .  # but has wikidata id 
  bind(iri(concat("http://www.wikidata.org/entity/", str(?wikidata_id))) as ?wikidata) .
 
  SERVICE <https://query.wikidata.org/sparql> {
              ?wikidata wdt:P625 ?wd_geo1 . 
            } # /wikidata service   
  }
 
  BIND(COALESCE(?wd_geo1, ?wd_geo2) AS ?wd_geo).  # if geo1 available use that, then try geo2 
           
             
   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,en-gb". }  
   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,en-gb". }  
}
}
Line 1,968: Line 2,119:
</sparql>
</sparql>


=== IWD 2024 Map of five women's places ===
=== Residences of women participants in Colchester excavations ===


<sparql tryit="1">
<sparql tryit="1">
## how many places for the five women can I get on a map? a slightly ridiculous query.
#title:Excavations at Colchester: where women participants lived
 
#title:Four stories, five women, many places for #IWD2024
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
Line 1,981: Line 2,130:
PREFIX bnps: <https://beyond-notability.wikibase.cloud/prop/statement/>
PREFIX bnps: <https://beyond-notability.wikibase.cloud/prop/statement/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
 
#defaultView:Map
#defaultView:Map{"hide":["?geo"],"layer":"?person", "markercluster":true }
SELECT distinct ?item ?itemLabel ?locationLabel ?location ?person ?personLabel ?resided ?residedLabel ?wd_geo
 
SELECT distinct ?person ?personLabel  ?propLabel ?placeLabel  ?geo  ?loc2Label (year(?date) as ?year)
 
WHERE {   
WHERE {   
 
  values (?item) { (bnwd:Q90) }   # q90 colchester  
  VALUES (?person) {(bnwd:Q894) (bnwd:Q462) (bnwd:Q549) (bnwd:Q921) (bnwd:Q1053) } #
  ?person ( bnp:P29 | bnp:P94 | bnp:P23 | bnp:P13 | bnp:P120  ) ?s .
    
    
  ?s  ( bnps:P29 | bnps:P94  | bnps:P23 | bnps:P13 | bnps:P120  )  ?place .  
  ?item bnwdt:P12 bnwd:Q38 .  
 
  ?item bnwdt:P2  ?location # item has property P2 location
  ?person ?p ?s .
 
      ?prop wikibase:claim ?p;     
  ?item (bnwdt:P36 | bnwdt:P37 ) ?person .
        wikibase:statementProperty ?ps.   
  #optional { ?item bnwdt:P36 ?director . }
 
   #optional { ?item bnwdt:P37 ?member . }
      optional { ?s ( bnpq:P1 | bnpq:P27 ) ?date . }
      #optional { ?s bnpq:P31 ?street . }
   # LOLplaces
  #1 geocoords in quals for place itself - should be detailed geo added manually, cf London district geocoords which =main P153
  #2 wikdiata geocoords for place
  #3 geocoords in quals for linked place
  #4 wikidata geocoords for linked place
  #5 wikidata geocoords in place P2 qual
  #6 `of` qual geocoords
  #7 `of` P2 wikidata geocoords
  #8 `of` wikidata geocoords
  #9 place main geocoords - likely to be broad london postal districts so should be last resort
  #10 linked place main geocoords
    
    
  optional { ?person bnwdt:P29 ?resided .
              ?resided bnwdt:P117 ?wsa .  # and has wikidata id 
    
    
      optional { ?s bnpq:P153 ?geo1 . } # place has geocoords directly *in qualifier*
            bind(iri(concat("http://www.wikidata.org/entity/", str(?wsa))) as ?wikidataa) .
              SERVICE <https://query.wikidata.org/sparql> {
              ?wikidataa wdt:P625 ?wd_geo .  
            } # /wikidata service   
          }
    
    
      optional { ?place bnwdt:P2 ?linked_p1 . # linked place has geocoords *in qualifier* (this is primarily for SAL?)
                    ?linked_p1 bnp:P2 ?llp_s .
                        ?llp_s bnps:P2 ?llp_p1.
                        ?llp_s bnpq:P153 ?geo2 .
                }
    
    
      optional { ?place bnwdt:P117 ?pws . # place has wikidata page that has geoocords (main P625, not anywhere else)
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,en-gb". }
                  bind(iri(concat("http://www.wikidata.org/entity/", str(?pws))) as ?pwikidata) .
}
                  SERVICE <https://query.wikidata.org/sparql> {
ORDER BY ?locationLabel
                    ?pwikidata wdt:P625 ?geo3 .
</sparql>
                  }      
 
                }    
=== IWD 2024 Map of five women's places ===
 
<sparql tryit="1">
## how many places for the five women can I get on a map? a slightly ridiculous query.
 
#title:Four stories, five women, many places for #IWD2024
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
PREFIX bnwdv: <https://beyond-notability.wikibase.cloud/value/>
PREFIX bnwdt: <https://beyond-notability.wikibase.cloud/prop/direct/>
PREFIX bnp: <https://beyond-notability.wikibase.cloud/prop/>
PREFIX bnps: <https://beyond-notability.wikibase.cloud/prop/statement/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
 
#defaultView:Map{"hide":["?geo"],"layer":"?person", "markercluster":true }
 
SELECT distinct ?person ?personLabel  ?propLabel ?placeLabel  ?geo  ?loc2Label (year(?date) as ?year)
 
WHERE { 
 
  VALUES (?person) {(bnwd:Q894) (bnwd:Q462) (bnwd:Q549) (bnwd:Q921) (bnwd:Q1053) } #
  ?person ( bnp:P29 | bnp:P94  | bnp:P23 | bnp:P13 | bnp:P120   ) ?s .
    
    
       optional { ?place bnwdt:P2 ?linked_p2 .  # linked place has wikidata geocoords
  ?s  ( bnps:P29 | bnps:P94  | bnps:P23 | bnps:P13 | bnps:P120  )  ?place .
                     ?linked_p2 bnwdt:P117 ?lws .  # wikidata id P117
 
                     bind(iri(concat("http://www.wikidata.org/entity/", str(?lws))) as ?lwikidata) .
  ?person ?p ?s .
                     SERVICE <https://query.wikidata.org/sparql> {
      ?prop wikibase:claim ?p;     
                       ?lwikidata wdt:P625 ?geo4 .  
        wikibase:statementProperty ?ps. 
                     }
 
      optional { ?s ( bnpq:P1 | bnpq:P27 ) ?date . }
      #optional { ?s bnpq:P31 ?street . }
  # LOLplaces
  #1 geocoords in quals for place itself - should be detailed geo added manually, cf London district geocoords which =main P153
  #2 wikdiata geocoords for place
  #3 geocoords in quals for linked place
  #4 wikidata geocoords for linked place
  #5 wikidata geocoords in place P2 qual
  #6 `of` qual geocoords
  #7 `of` P2 wikidata geocoords
  #8 `of` wikidata geocoords
  #9 place main geocoords - likely to be broad london postal districts so should be last resort
  #10 linked place main geocoords
 
 
      optional { ?s bnpq:P153 ?geo1 . } # place has geocoords directly *in qualifier*
 
      optional { ?place bnwdt:P2 ?linked_p1 . # linked place has geocoords *in qualifier* (this is primarily for SAL?)
                    ?linked_p1 bnp:P2 ?llp_s .
                        ?llp_s bnps:P2 ?llp_p1.
                        ?llp_s bnpq:P153 ?geo2 .
                }
 
      optional { ?place bnwdt:P117 ?pws .  # place has wikidata page that has geoocords (main P625, not anywhere else)
                  bind(iri(concat("http://www.wikidata.org/entity/", str(?pws))) as ?pwikidata) .
                  SERVICE <https://query.wikidata.org/sparql> {
                    ?pwikidata wdt:P625 ?geo3 .
                  }       
                } 
 
       optional { ?place bnwdt:P2 ?linked_p2 .  # linked place has wikidata geocoords
                     ?linked_p2 bnwdt:P117 ?lws .  # wikidata id P117
                     bind(iri(concat("http://www.wikidata.org/entity/", str(?lws))) as ?lwikidata) .
                     SERVICE <https://query.wikidata.org/sparql> {
                       ?lwikidata wdt:P625 ?geo4 .  
                     }
                 }
                 }
    
    
Line 2,082: Line 2,271:
</sparql>
</sparql>


==People==
=== Wikidata categories for BN instance of locality in the UK ===
 
===Women with their family name at birth and family name after marriage===


<sparql tryit="1">
<sparql tryit="1">
# Women with their family name at birth and family name after marriage
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
Line 2,096: Line 2,281:
PREFIX bnps: <https://beyond-notability.wikibase.cloud/prop/statement/>
PREFIX bnps: <https://beyond-notability.wikibase.cloud/prop/statement/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
PREFIX bnpqv: <https://beyond-notability.wikibase.cloud/prop/qualifier/value/>
#title: counts of WD instance of (P31) for BN localities (instance of Q2147) in the UK


select ?wd_io ?wd_io_label  (count(*) as ?count)


SELECT ?person ?personLabel ?birthname ?marriedname
where {
WHERE {  
   
   ?person bnwdt:P3 bnwd:Q3 . #select women
   ?item bnwdt:P12 bnwd:Q2147 . # BN io locality
   FILTER NOT EXISTS {?person bnwdt:P4 bnwd:Q12 .} #filter out project team
   ?item bnwdt:P33* bnwd:Q1741 . # in UK
   OPTIONAL {?person bnwdt:P140 ?birthname .} #look for birth name
 
  OPTIONAL {?person bnwdt:P141 ?marriedname .} #look for married name
   ?item bnwdt:P117 ?wd.
      bind(iri(concat("http://www.wikidata.org/entity/", str(?wd))) as ?wikidata) .
      SERVICE <https://query.wikidata.org/sparql> {  
          ?wikidata wdt:P31 ?wd_io.
              ## p31 Q48091 region of england.
            SERVICE wikibase:label { bd:serviceParam wikibase:language "en". 
                                    ?wikidata rdfs:label ?wd_label .
                                    ?wd_io rdfs:label ?wd_io_label .  
                                  }       
        }
    
    
   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,en-gb". }  
   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,en-gb". }  
}
}
ORDER BY ?personLabel
group by ?wd_io ?wd_io_label
order by ?wd_io_label
</sparql>
</sparql>


=== Women with family name at birth, married name and count of married names===
 
=== Localities not in the UK ===


<sparql tryit="1">
<sparql tryit="1">
# Women with their family name at birth, family name after marriage and count of married names
##admin_paths lists the linked P33 for the item. Unfortunately, they aren't reliably returned in ascending order.
 
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
Line 2,122: Line 2,320:
PREFIX bnps: <https://beyond-notability.wikibase.cloud/prop/statement/>
PREFIX bnps: <https://beyond-notability.wikibase.cloud/prop/statement/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
#title:localities not in the UK


SELECT ?person ?personLabel ?birthname 
select  ?item ?itemLabel (group_concat(distinct ?admin_label; separator=", " ) as ?admin_path)
        (GROUP_CONCAT(DISTINCT ?marriedname; SEPARATOR=", ") AS ?marriednames)  
where {
        (COUNT(?marriedname) AS ?marriedcount)
  ?item bnwdt:P12 bnwd:Q2147 . # i/o locality
  ?item bnwdt:P33* ?admin.   
    ?admin rdfs:label ?admin_label. filter(lang(?admin_label)="en") .
 
  filter not exists { ?item bnwdt:P33* bnwd:Q1741.  } # filter out anything in the UK
  filter (?item not in (bnwd:Q619, bnwd:Q2961, bnwd:Q4207, bnwd:Q86) ). # and a few things that are not specific places


WHERE { 
  ?person bnwdt:P3 bnwd:Q3 . #select women
  FILTER NOT EXISTS {?person bnwdt:P4 bnwd:Q12 .} #filter out project team
 
  OPTIONAL {?person bnwdt:P140 ?birthname .} #look for birth name
  OPTIONAL {?person bnwdt:P141 ?marriedname .} #look for married name
 
   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,en-gb". }  
   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,en-gb". }  
}
}
group by ?person ?personLabel ?birthname
group by ?item ?itemLabel
ORDER BY ?personLabel
order by ?itemLabel
</sparql>
</sparql>


===Where women in our data are in wikidata, their spouses, fathers, and mothers according to wikidata===
==People==
 
===Women with their family name at birth and family name after marriage===


<sparql tryit="1">
<sparql tryit="1">
# Women with their family name at birth and family name after marriage
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
Line 2,150: Line 2,351:
PREFIX bnps: <https://beyond-notability.wikibase.cloud/prop/statement/>
PREFIX bnps: <https://beyond-notability.wikibase.cloud/prop/statement/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
PREFIX wdt: <http://www.wikidata.org/prop/direct/>
PREFIX wd:  <http://www.wikidata.org/entity/>


SELECT ?person ?personLabel ?item ?WD_spouse ?WD_father ?WD_mother
 
SELECT ?person ?personLabel ?birthname ?marriedname
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
   ?person bnp:P117 ?wikidata_ID . #look for wikidata ID on person page
   OPTIONAL {?person bnwdt:P140 ?birthname .} #look for birth name
   ?wikidata_ID bnpq:P14 ?wikidata_url .
   OPTIONAL {?person bnwdt:P141 ?marriedname .} #look for married name
  BIND(IRI(REPLACE(?wikidata_url,"https://www.wikidata.org/wiki/","http://www.wikidata.org/entity/")) as ?item )
    
    
  SERVICE <https://query.wikidata.org/sparql> {
   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,en-gb". }  
        ?item wdt:P21 ?WD_gender. #get gender of person
        OPTIONAL {?item wdt:P22 ?WD_father . } #recall father
        OPTIONAL {?item wdt:P25 ?WD_mother . } #recall mother
        OPTIONAL {?item wdt:P26 ?WD_spouse . } #recall spouse
      }
 
   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en-gb". }  
}
}
ORDER BY ?personLabel
ORDER BY ?personLabel
# with thanks to @tagishsimon for writing this one initially!
</sparql>
</sparql>


===Women in our data alongside counts of their public and professional activities, sorted by total===
=== Women with family name at birth, married name and count of married names===


<sparql tryit="1">
<sparql tryit="1">
## Women in our data alongside counts of their public and professional activities (https://beyond-notability.wikibase.cloud/wiki/Item:Q151)
# Women with their family name at birth, family name after marriage and count of married names
## Sorted by total PPAs


PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
Line 2,188: Line 2,378:
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>


select ?person ?personLabel
SELECT ?person ?personLabel ?birthname 
(count(distinct ?exhibitor) as ?exhibitions)
        (GROUP_CONCAT(DISTINCT ?marriedname; SEPARATOR=", ") AS ?marriednames)  
(count(distinct ?position) as ?positions)
        (COUNT(?marriedname) AS ?marriedcount)
(count(distinct ?speaker) as ?spoke)
 
(count(distinct ?attended) as ?attendance)
WHERE { 
(count(distinct ?donorof) as ?donated)
  ?person bnwdt:P3 bnwd:Q3 . #select women
(count(distinct ?wasdelegate) as ?delegate)
  FILTER NOT EXISTS {?person bnwdt:P4 bnwd:Q12 .} #filter out project team
(count(distinct ?correspondent) as ?correspondents)
 
(count(distinct ?fellow) as ?fellowships)
  OPTIONAL {?person bnwdt:P140 ?birthname .} #look for birth name
(count(distinct ?collab) as ?collaborations)
  OPTIONAL {?person bnwdt:P141 ?marriedname .} #look for married name
(count(distinct ?found) as ?founded)
 
(count(distinct ?loaned) as ?loans)
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,en-gb". }
(count(distinct ?illustrated) as ?illustrations)
}
(count(distinct ?sold) as ?sales)
group by ?person ?personLabel ?birthname
(count(distinct ?served) as ?service)
ORDER BY ?personLabel
(count(distinct ?job) as ?employed)
</sparql>
(count(distinct ?fundraiser) as ?fundraisers)
 
(count(distinct ?publish) as ?published)
===Where women in our data are in wikidata, their spouses, fathers, and mothers according to wikidata===
(count(distinct ?benefact) as ?benefactor)
(count(distinct ?donor) as ?donor_to)
(count(distinct ?collect) as ?collected)
(count(distinct ?performance) as ?performances)
((?exhibitions + ?positions + ?spoke + ?attendance + ?donated + ?delegate + ?correspondents + ?fellowships + ?collaborations + ?founded + ?loans + ?illustrations + ?sales
+ ?service + ?employed + ?fundraisers + ?published + ?benefactor + ?donor_to + ?collected + ?performances) AS ?PPA_total)


where
<sparql tryit="1">
{
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
  ?person bnwdt:P3 bnwd:Q3 .
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
  optional { ?person bnp:P13 ?exhibitor }
PREFIX bnwdv: <https://beyond-notability.wikibase.cloud/value/>
  optional { ?person bnp:P17 ?position }
PREFIX bnwdt: <https://beyond-notability.wikibase.cloud/prop/direct/>
  optional { ?person bnp:P23 ?speaker }
PREFIX bnp: <https://beyond-notability.wikibase.cloud/prop/>
  optional { ?person bnp:P24 ?attended }
PREFIX bnps: <https://beyond-notability.wikibase.cloud/prop/statement/>
  optional { ?person bnp:P65 ?donorof }
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
  optional { ?person bnp:P71 ?wasdelegate }
PREFIX wdt: <http://www.wikidata.org/prop/direct/>
  optional { ?person bnp:P73 ?correspondent }
PREFIX wd:  <http://www.wikidata.org/entity/>
  optional { ?person bnp:P75 ?fellow }
 
  optional { ?person bnp:P83 ?collab }
SELECT ?person ?personLabel ?item ?WD_spouse ?WD_father ?WD_mother
   optional { ?person bnp:P85 ?found }
WHERE {
   optional { ?person bnp:P87 ?loaned }
   ?person bnwdt:P3 bnwd:Q3 . #select women
   optional { ?person bnp:P89 ?illustrated }
   FILTER NOT EXISTS {?person bnwdt:P4 bnwd:Q12 .} #filter out project team
   optional { ?person bnp:P99 ?sold }
   ?person bnp:P117 ?wikidata_ID . #look for wikidata ID on person page
   optional { ?person bnp:P102 ?served }
   ?wikidata_ID bnpq:P14 ?wikidata_url .
   optional { ?person bnp:P105 ?job }
   BIND(IRI(REPLACE(?wikidata_url,"https://www.wikidata.org/wiki/","http://www.wikidata.org/entity/")) as ?item )
   optional { ?person bnp:P106 ?fundraiser }
    
  optional { ?person bnp:P107 ?publish }
   SERVICE <https://query.wikidata.org/sparql> {
  optional { ?person bnp:P110 ?benefact }
        ?item wdt:P21 ?WD_gender. #get gender of person
  optional { ?person bnp:P111 ?donor }
        OPTIONAL {?item wdt:P22 ?WD_father . } #recall father
  optional { ?person bnp:P114 ?collect }
        OPTIONAL {?item wdt:P25 ?WD_mother . } #recall mother
   optional { ?person bnp:P120 ?performance }
        OPTIONAL {?item wdt:P26 ?WD_spouse . } #recall spouse
   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,en-gb". }
      }
    
   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en-gb". }  
}
}
group by ?person ?personLabel
ORDER BY ?personLabel
ORDER BY DESC (?PPA_total)
# with thanks to @tagishsimon for writing this one initially!
</sparql>
</sparql>


===Women in our data arranged as a network graph by the organisations they were members of===
===Women in our data alongside counts of their public and professional activities, sorted by total===


<sparql tryit="1">
<sparql tryit="1">
## Women in our data arranged as a network graph by the organisations they were members of
## Women in our data alongside counts of their public and professional activities (https://beyond-notability.wikibase.cloud/wiki/Item:Q151)
#defaultView:Graph
## Sorted by total PPAs
 
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwdt: <https://beyond-notability.wikibase.cloud/prop/direct/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
SELECT  ?org ?orgLabel ?rgb ?linkTo ?linkToLabel
PREFIX bnwdv: <https://beyond-notability.wikibase.cloud/value/>
WHERE { 
  ?linkTo bnwdt:P3 bnwd:Q3 .                                #select women
  FILTER NOT EXISTS {?linkTo bnwdt:P4 bnwd:Q12 .}          #filter out project team
  ?linkTo bnwdt:P67 ?org
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en-gb,en". }
  BIND( "7C4DCD" AS ?rgb ) .
 
}
ORDER BY ?personLabel
</sparql>
 
===Membership of organisations by women, sorted by how many women were members of a given organisation===
 
<sparql tryit="1">
# Membership of organisations by women, sorted by how many women were members of a given organisation
 
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
PREFIX bnwdv: <https://beyond-notability.wikibase.cloud/value/>
PREFIX bnwdt: <https://beyond-notability.wikibase.cloud/prop/direct/>
PREFIX bnwdt: <https://beyond-notability.wikibase.cloud/prop/direct/>
PREFIX bnp: <https://beyond-notability.wikibase.cloud/prop/>
PREFIX bnp: <https://beyond-notability.wikibase.cloud/prop/>
Line 2,275: Line 2,443:
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>


SELECT ?organisation ?organisationLabel (count(?organisation) as ?organisation_count) #count number of organisations that women were members of
select ?person ?personLabel
WHERE {
(count(distinct ?exhibitor) as ?exhibitions)
   ?person bnwdt:P3 bnwd:Q3 . # select women
(count(distinct ?position) as ?positions)
   FILTER NOT EXISTS {?person bnwdt:P4 bnwd:Q12 .} #filter out project team
(count(distinct ?speaker) as ?spoke)
   ?person bnwdt:P67 ?organisation . # selection people who were members of organisations and what those organisations were
(count(distinct ?attended) as ?attendance)
   FILTER NOT EXISTS {?person bnwdt:P67 bnwd:Q35 .} # filter out Royal Archaeological Institute
(count(distinct ?donorof) as ?donated)
   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en-gb". }  
(count(distinct ?wasdelegate) as ?delegate)
}
(count(distinct ?correspondent) as ?correspondents)
GROUP BY ?organisation ?organisationLabel
(count(distinct ?fellow) as ?fellowships)
ORDER BY DESC(?organisation_count)
(count(distinct ?collab) as ?collaborations)
(count(distinct ?found) as ?founded)
(count(distinct ?loaned) as ?loans)
(count(distinct ?illustrated) as ?illustrations)
(count(distinct ?sold) as ?sales)
(count(distinct ?served) as ?service)
(count(distinct ?job) as ?employed)
(count(distinct ?fundraiser) as ?fundraisers)
(count(distinct ?publish) as ?published)
(count(distinct ?benefact) as ?benefactor)
(count(distinct ?donor) as ?donor_to)
(count(distinct ?collect) as ?collected)
(count(distinct ?performance) as ?performances)
((?exhibitions + ?positions + ?spoke + ?attendance + ?donated + ?delegate + ?correspondents + ?fellowships + ?collaborations + ?founded + ?loans + ?illustrations + ?sales
+ ?service + ?employed + ?fundraisers + ?published + ?benefactor + ?donor_to + ?collected + ?performances) AS ?PPA_total)
 
where
{
   ?person bnwdt:P3 bnwd:Q3 .
   optional { ?person bnp:P13 ?exhibitor }
  optional { ?person bnp:P17 ?position }
  optional { ?person bnp:P23 ?speaker }
  optional { ?person bnp:P24 ?attended }
  optional { ?person bnp:P65 ?donorof }
  optional { ?person bnp:P71 ?wasdelegate }
  optional { ?person bnp:P73 ?correspondent }
  optional { ?person bnp:P75 ?fellow }
  optional { ?person bnp:P83 ?collab }
  optional { ?person bnp:P85 ?found }
  optional { ?person bnp:P87 ?loaned }
  optional { ?person bnp:P89 ?illustrated }
  optional { ?person bnp:P99 ?sold }
  optional { ?person bnp:P102 ?served }
  optional { ?person bnp:P105 ?job }
  optional { ?person bnp:P106 ?fundraiser }
  optional { ?person bnp:P107 ?publish }
  optional { ?person bnp:P110 ?benefact }
   optional { ?person bnp:P111 ?donor }
   optional { ?person bnp:P114 ?collect }
  optional { ?person bnp:P120 ?performance }
   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,en-gb". }
}
group by ?person ?personLabel
ORDER BY DESC (?PPA_total)
</sparql>
</sparql>


===Women in our data arranged as a network graph by the organisations they were members of===


<sparql tryit="1">
## Women in our data arranged as a network graph by the organisations they were members of
#defaultView:Graph
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwdt: <https://beyond-notability.wikibase.cloud/prop/direct/>
SELECT  ?org ?orgLabel ?rgb ?linkTo ?linkToLabel
WHERE { 
  ?linkTo bnwdt:P3 bnwd:Q3 .                                #select women
  FILTER NOT EXISTS {?linkTo bnwdt:P4 bnwd:Q12 .}          #filter out project team
  ?linkTo bnwdt:P67 ?org
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en-gb,en". }
  BIND( "7C4DCD" AS ?rgb ) .


==Education==
}
ORDER BY ?personLabel
</sparql>


===Women educated at a tertiary educational institution located in Oxford or Cambridge===
===Membership of organisations by women, sorted by how many women were members of a given organisation===


<sparql tryit="1">
<sparql tryit="1">
# Women educated at a tertiary educational institution located in Oxford or Cambridge
# Membership of organisations by women, sorted by how many women were members of a given organisation


PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
Line 2,304: Line 2,530:
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>


SELECT ?woman ?womanLabel ?educationalinstitution ?educationalinstitutionLabel ?location ?locationLabel
SELECT ?organisation ?organisationLabel (count(?organisation) as ?organisation_count) #count number of organisations that women were members of
WHERE {   
WHERE {   
   {?woman bnwdt:P3 bnwd:Q3 . #filter women
  ?person bnwdt:P3 bnwd:Q3 . # select women
   ?woman bnwdt:P94 ?educationalinstitution . #find 'educated at' statement
  FILTER NOT EXISTS {?person bnwdt:P4 bnwd:Q12 .} #filter out project team
   ?educationalinstitution bnwdt:P12 bnwd:Q2914 . #filter to tertiary educational institutions
  ?person bnwdt:P67 ?organisation . # selection people who were members of organisations and what those organisations were
   ?educationalinstitution bnwdt:P2 ?location . #find location of educational institution
  FILTER NOT EXISTS {?person bnwdt:P67 bnwd:Q35 .} # filter out Royal Archaeological Institute
   ?location rdfs:label ?locationLabel .  
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en-gb". }
   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,en-gb". }  
}
   FILTER(LANG(?locationLabel) = "en") .
GROUP BY ?organisation ?organisationLabel
   FILTER(regex(?locationLabel, "oxford", "i")) .}
ORDER BY DESC(?organisation_count)
   UNION
</sparql>
 
 
 
==Education==
 
===Women educated at a tertiary educational institution located in Oxford or Cambridge===
 
<sparql tryit="1">
# Women educated at a tertiary educational institution located in Oxford or Cambridge
 
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
PREFIX bnwdv: <https://beyond-notability.wikibase.cloud/value/>
PREFIX bnwdt: <https://beyond-notability.wikibase.cloud/prop/direct/>
PREFIX bnp: <https://beyond-notability.wikibase.cloud/prop/>
PREFIX bnps: <https://beyond-notability.wikibase.cloud/prop/statement/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
 
SELECT ?woman ?womanLabel ?educationalinstitution ?educationalinstitutionLabel ?location ?locationLabel
WHERE { 
   {?woman bnwdt:P3 bnwd:Q3 . #filter women
   ?woman bnwdt:P94 ?educationalinstitution . #find 'educated at' statement
   ?educationalinstitution bnwdt:P12 bnwd:Q2914 . #filter to tertiary educational institutions
   ?educationalinstitution bnwdt:P2 ?location . #find location of educational institution
   ?location rdfs:label ?locationLabel .  
   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,en-gb". }  
   FILTER(LANG(?locationLabel) = "en") .
   FILTER(regex(?locationLabel, "oxford", "i")) .}
   UNION
   {?woman bnwdt:P3 bnwd:Q3 . #filter women
   {?woman bnwdt:P3 bnwd:Q3 . #filter women
   ?woman bnwdt:P94 ?educationalinstitution . #find 'educated at' statement
   ?woman bnwdt:P94 ?educationalinstitution . #find 'educated at' statement
Line 3,365: Line 3,620:
   }  
   }  
    
    
   FILTER(LANG(?propertyLabel) = 'en-gb')  
   FILTER(LANG(?propertyLabel) = 'en')  
   # fix label language dups; but Q why doesn't SERVICE work?  
   # fix label language dups; but Q why doesn't SERVICE work?  
   # A: https://en.wikibooks.org/wiki/SPARQL/FILTER#FILTER_on_values_in_Labels
   # A: https://en.wikibooks.org/wiki/SPARQL/FILTER#FILTER_on_values_in_Labels
  # nb a few objects found with en-gb label missing


}
}
Line 3,375: Line 3,629:


</sparql>
</sparql>


=== All the Things for Organisations ===
=== All the Things for Organisations ===
Line 3,436: Line 3,689:




===Working with property paths: organisations and locations===
=== One woman ===


<sparql tryit="1">
<sparql tryit="1">
## problem: sometimes you need to follow property paths using */+ for (eg) locations. BUT this can lead to several results to choose between and they aren't necessarily returned in the "right" order.
## how to determine the "distance" along the path of each result?
## https://stackoverflow.com/questions/61984052/wikidata-get-the-full-subhierachy-of-one-class-as-well-as-all-nodes
## > you can get the distance of a class with SELECT ?cls (count(?tmp) as ?distance) WHERE {  ?cls wdt:P279* ?tmp .  ?tmp wdt:P279+ wd:Q2095 . } group by ?cls order by asc(?distance) - though there might be corner cases like cycles in the hierarchy resp. multiple paths


#title:All About a Woman
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
Line 3,451: Line 3,701:
PREFIX bnps: <https://beyond-notability.wikibase.cloud/prop/statement/>
PREFIX bnps: <https://beyond-notability.wikibase.cloud/prop/statement/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
PREFIX bnpsv: <https://beyond-notability.wikibase.cloud/prop/statement/value/>
PREFIX bnpqv: <https://beyond-notability.wikibase.cloud/prop/qualifier/value/>


SELECT ?item ?itemLabel ?location ?locationLabel (count(?item) as ?distance)
SELECT distinct ?propLabel ?spsLabel ?qual_propLabel ?pqsLabel ?link ?s
WHERE { 
# ?main_date ?main_precision ?qual_date ?qual_precision   
  ?item bnwdt:P12 bnwd:Q2316 .  # instance of organisation.
# ?prop ?sps ?pqs ?pq
  ?item bnwdt:P2* ?tmp .
  ?tmp bnwdt:P2+ ?location . # P2=30. P2+=34


   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en-gb, en". }  
WHERE
{
  VALUES (?person) {(bnwd:Q569)}  # add (bnwd:Qxxx) if you want more than one person. 
  ?person ?p ?s . 
 
    ?prop wikibase:claim ?p;   
        wikibase:statementProperty ?ps;  #  simple value
        wikibase:statementValue ?psv. #  full value   
 
  # exclude external IDs
  # filter not exists { ?prop wikibase:propertyType wikibase:ExternalId . }
 
      ?s ?ps ?sps.
 
    # full date via ?psv
      OPTIONAL {
          ?s ?psv ?spsv .
              ?spsv wikibase:timeValue ?main_date .
              ?spsv wikibase:timePrecision ?main_precision .
      }
 
    # qualifiers.
 
      optional {
        ?s ?pq ?pqs .         
          ?qual_prop wikibase:qualifier ?pq . 
          ?qual_prop wikibase:qualifierValue ?pqp .
       
          optional {
            # full date via ?pqp
            ?s ?pqp ?qv .
            ?qv wikibase:timeValue ?qual_date.
            ?qv wikibase:timePrecision ?qual_precision.
          }
    }
 
   # direct link to property
        BIND (REPLACE(STR(?prop), "^.*/([^/]*)$", "$1") as ?pid).
        bind(iri(concat(str(?person), "#", ?pid)) as ?link ) .
 
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,en-gb". }  
       
}
}
group by ?item ?itemLabel  ?location ?locationLabel
order by ?propLabel ?s
ORDER BY ?item ?distance
 
</sparql>
</sparql>


=== Working with property paths: instance of [CAVEAT: experimental, probably wrong]===
===Working with property paths: organisations and locations===


<sparql tryit="1">
<sparql tryit="1">
# an attempt to adapt the query above following paths for locations of organisations for (more complex) instance of  
## problem: sometimes you need to follow property paths using */+ for (eg) locations. BUT this can lead to several results to choose between and they aren't necessarily returned in the "right" order.
# ref https://stackoverflow.com/questions/61984052/wikidata-get-the-full-subhierachy-of-one-class-as-well-as-all-nodes
## how to determine the "distance" along the path of each result?
# distance is in the right *order* so it should be usable for some purposes, but the starting number = number of levels rather than 1. also jumps if there are siblings somewhere along the path.
## https://stackoverflow.com/questions/61984052/wikidata-get-the-full-subhierachy-of-one-class-as-well-as-all-nodes
## > you can get the distance of a class with SELECT ?cls (count(?tmp) as ?distance) WHERE {  ?cls wdt:P279* ?tmp .  ?tmp wdt:P279+ wd:Q2095 . } group by ?cls order by asc(?distance) - though there might be corner cases like cycles in the hierarchy resp. multiple paths


PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
Line 3,479: Line 3,771:
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>


SELECT ?item ?itemLabel ?instance_of ?instance_ofLabel  (count(?item) as ?distance)  
SELECT ?item ?itemLabel ?location ?locationLabel (count(?item) as ?distance)
WHERE {   
WHERE {   
   ?item bnwdt:P12* ?tmp .  # instance of anything.
   ?item bnwdt:P12 bnwd:Q2316 .  # instance of organisation.
   ?tmp bnwdt:P12+ ?instance_of . # P2=30. P2+=34
  ?item bnwdt:P2* ?tmp .
   ?tmp bnwdt:P2+ ?location . # P2=30. P2+=34


   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en-gb, en". }  
   SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en-gb, en". }  
}
}
group by ?item ?itemLabel  ?instance_of ?instance_ofLabel
group by ?item ?itemLabel  ?location ?locationLabel
ORDER BY ?item ?distance
ORDER BY ?item ?distance
</sparql>
</sparql>


==Dates==
=== Traversing instance of with GAS ===


===All the Dates for Women FSAs===
<sparql tryit="1">
 
#title:GAS
<sparql tryit="1">
# The Gather, Apply, and Scatter (GAS) service provides graph traversal, graph mining, and similar classes of algorithms for SPARQL.
#title:fishing for dates for FSAs
# In practical terms, it enables a series of relations to be followed through the graph; for instance the chain of father, grandfather, great-grandfather &c - tracing the father (P22) line - of a subject item
# union query to get [hopefully] every date associated with women FSAs including main dates and qualifier dates
# https://www.wikidata.org/wiki/Wikidata:SPARQL_query_service/query_optimization#GAS_Service
# https://github.com/blazegraph/database/wiki/RDF_GAS_API


PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
Line 3,506: Line 3,799:
PREFIX bnps: <https://beyond-notability.wikibase.cloud/prop/statement/>
PREFIX bnps: <https://beyond-notability.wikibase.cloud/prop/statement/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
PREFIX bnpsv: <https://beyond-notability.wikibase.cloud/prop/statement/value/>
PREFIX bnpqv: <https://beyond-notability.wikibase.cloud/prop/qualifier/value/>


SELECT distinct ?person ?personLabel ?prop_label ?qualLabel ?qual_dateLabel ?date_value  ?
SELECT ?depth  ?ioLabel ?itemLabel ?io ?item
#?prop ?qual
WHERE {
      SERVICE gas:service {
          gas:program gas:gasClass "com.bigdata.rdf.graph.analytics.BFS" ;
                      gas:in bnwd:Q3099 ;
                      gas:linkType bnwdt:P12 ;
                      gas:traversalDirection "Reverse";
                      gas:out ?item ;
                      gas:out1 ?depth ;
                      gas:out2 ?io .
      }
    SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
    }
order by ?depth ?ioLabel ?itemLabel
</sparql>
 
 
=== Working with property paths: instance of [CAVEAT: experimental, probably wrong]===
 
<sparql tryit="1">
# an attempt to adapt the query above following paths for locations of organisations for (more complex) instance of
# ref https://stackoverflow.com/questions/61984052/wikidata-get-the-full-subhierachy-of-one-class-as-well-as-all-nodes
# distance is in the right *order* so it should be usable for some purposes, but the starting number = number of levels rather than 1. also jumps if there are siblings somewhere along the path.


WHERE {
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
 
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
  ?person bnwdt:P3 bnwd:Q3 . #select women
PREFIX bnwdv: <https://beyond-notability.wikibase.cloud/value/>
  ?person bnwdt:P75 bnwd:Q8. # find only BN subjects having a FSA
PREFIX bnwdt: <https://beyond-notability.wikibase.cloud/prop/direct/>
 
PREFIX bnp: <https://beyond-notability.wikibase.cloud/prop/>
  # get stuff about ?person 
PREFIX bnps: <https://beyond-notability.wikibase.cloud/prop/statement/>
  ?person ?p ?s .  
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
 
      # get stuff about ?p .
      ?prop wikibase:claim ?p;   
        wikibase:statementProperty ?ps ; 
        wikibase:statementValue ?psv .  
      ?prop wikibase:propertyType ?date_prop_type .
      ?prop rdfs:label ?prop_label. filter(lang(?prop_label)="en-gb") .  
 


{  # main dates
SELECT ?item ?itemLabel ?instance_of ?instance_ofLabel  (count(?item) as ?distance)
 
WHERE { 
  # get dates detail via ?s and psv
   ?item bnwdt:P12* ?tmp . # instance of anything.
  # gets edtf dates in simplified std wiki date format?
  ?tmp bnwdt:P12+ ?instance_of . # P2=30. P2+=34
  # https://github.com/ProfessionalWiki/WikibaseEdtf 
      ?s ?psv ?wdv .
        ?wdv wikibase:timeValue ?date_value .
 
  } # /main dates
 
  UNION
 
  { # qualifier dates
   
  # direct value (usually item) for the property
        ?s ?ps ?qual.
   
   # date qualifiers. [assumes no edtf in quals. ]
        ?s ?pq ?date_value . 
          ?qual_date wikibase:qualifier ?pq .
          ?qual_date wikibase:propertyType wikibase:Time.  
          ?qual_date rdfs:label ?date_qual_label . filter(lang(?date_qual_label)="en") .  
     
  }  # /qual dates
 
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,en-gb". }
 
} # /where


ORDER BY ?person ?prop_label ?date_value
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en-gb, en". }
}
group by ?item ?itemLabel  ?instance_of ?instance_ofLabel
ORDER BY ?item ?distance


</sparql>
</sparql>


===Fetch any of multiple kinds of EDTF date for a woman===
==Dates==
 
===All the Dates for Women FSAs===


<sparql tryit="1">
<sparql tryit="1">
# a union query to fetch stuff for multiple properties, in this case dates recorded in EDTF which need slightly different handling from PIT dates
#title:fishing for dates for FSAs
# main dates only; pretty sure there are no EDTF in qualifiers.
# union query to get [hopefully] every date associated with women FSAs including main dates and qualifier dates
# updated to get date property labels


PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
Line 3,575: Line 3,859:
PREFIX bnps: <https://beyond-notability.wikibase.cloud/prop/statement/>
PREFIX bnps: <https://beyond-notability.wikibase.cloud/prop/statement/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
PREFIX bnpsv: <https://beyond-notability.wikibase.cloud/prop/statement/value/>
PREFIX bnpqv: <https://beyond-notability.wikibase.cloud/prop/qualifier/value/>


SELECT ?person ?personLabel ?date_edtf ?date_prop ?date_label ?s
SELECT distinct ?person ?personLabel ?prop_label ?qualLabel ?qual_dateLabel ?date_value  ?s  
#?prop ?qual


WHERE { ?person bnwdt:P3 bnwd:Q3 .  
WHERE {
      FILTER NOT EXISTS { ?person bnwdt:P4 bnwd:Q12 . }
 
   
  ?person bnwdt:P3 bnwd:Q3 . #select women
      ## can do this union first but makes no difference to results except possibly a bit slower.
  ?person bnwdt:P75 bnwd:Q8. # find only BN subjects having a FSA
      #?person ( bnp:P131 | bnp:P132 | bnp:P133  ) ?s .
 
      #  ?s ( bnps:P131 | bnps:P132 | bnps:P133  ) ?date_edtf .
  # get stuff about ?person 
  ?person ?p ?s . 
 
      # get stuff about ?p .
      ?prop wikibase:claim ?p;   
        wikibase:statementProperty ?ps ; 
        wikibase:statementValue ?psv .  
      ?prop wikibase:propertyType ?date_prop_type .
      ?prop rdfs:label ?prop_label. filter(lang(?prop_label)="en-gb") .  
 


      ?person ?p ?s . # so you can get the statement id and date prop label
{  # main dates
          ?claim wikibase:claim ?p;     
 
                rdfs:label ?date_label. filter(lang(?date_label)="en") .      
  # get dates detail via ?s and psv
 
  # gets edtf dates in simplified std wiki date format?
          ?s ?date_prop ?date_edtf .
  # https://github.com/ProfessionalWiki/WikibaseEdtf 
             
      ?s ?psv ?wdv .
    ## filter for edtf dates
        ?wdv wikibase:timeValue ?date_value .
    ## docs: https://github.com/ProfessionalWiki/WikibaseEdtf
 
  } # /main dates
 
  UNION
 
  { # qualifier dates
   
  # direct value (usually item) for the property
        ?s ?ps ?qual.
   
  # date qualifiers. [assumes no edtf in quals. ]
        ?s ?pq ?date_value . 
          ?qual_date wikibase:qualifier ?pq .
          ?qual_date wikibase:propertyType wikibase:Time.
          ?qual_date rdfs:label ?date_qual_label . filter(lang(?date_qual_label)="en") .  
     
  }  # /qual dates
 
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,en-gb". }
 
} # /where


    FILTER ( datatype(?date_edtf) = xsd:edtf  ) .
ORDER BY ?person ?prop_label ?date_value
           
    SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE], en, en-gb". }
    }
 
ORDER BY ?personLabel


</sparql>
</sparql>


===Full values: dates ===
===Fetch any of multiple kinds of EDTF date for a woman===


<sparql tryit="1">
<sparql tryit="1">
 
# a union query to fetch stuff for multiple properties, in this case dates recorded in EDTF which need slightly different handling from PIT dates
# query for full values to access the timeValue and timePrecision of a date, in this case a date of birth.
# main dates only; pretty sure there are no EDTF in qualifiers.  
 
# updated to get date property labels
## why is a more complex query needed?
## simple value for a date doesn't differentiate between (eg) "1880" and "1 January 1880"; both are returned as 1 January 1880 (and SELECT DISTINCT will collapse them into a single result)
## there are 14 codes for precision from billion years to second. 7: century, 8: decade, 9: year, 10: month, 11: day
## NB additional bnpsv: prefix
## https://www.mediawiki.org/wiki/Wikibase/Indexing/RDF_Dump_Format#Value_representation


PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
Line 3,622: Line 3,928:
PREFIX bnps: <https://beyond-notability.wikibase.cloud/prop/statement/>
PREFIX bnps: <https://beyond-notability.wikibase.cloud/prop/statement/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
PREFIX bnpsv: <https://beyond-notability.wikibase.cloud/prop/statement/value/>


SELECT DISTINCT ?item ?itemLabel ?date ?precision
SELECT ?person ?personLabel ?date_edtf ?date_prop ?date_label ?s
WHERE {
 
  ?item bnp:P26 ?statement. # date of birth (precision of these varies quite a bit)
WHERE { ?person bnwdt:P3 bnwd:Q3 .
  ?statement bnpsv:P26 ?valueNode.
      FILTER NOT EXISTS { ?person bnwdt:P4 bnwd:Q12 . }
  ?valueNode wikibase:timeValue ?date.
   
  ?valueNode wikibase:timePrecision ?precision.
      ## can do this union first but makes no difference to results except possibly a bit slower.
 
      #?person ( bnp:P131 | bnp:P132 | bnp:P133 ) ?s .
  SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
      #   ?s ( bnps:P131 | bnps:P132 | bnps:P133  ) ?date_edtf .
}
 
ORDER BY ?date
      ?person ?p ?s . # so you can get the statement id and date prop label
          ?claim wikibase:claim ?p;     
                rdfs:label ?date_label. filter(lang(?date_label)="en") .      
 
          ?s ?date_prop ?date_edtf .
             
    ## filter for edtf dates
    ## docs: https://github.com/ProfessionalWiki/WikibaseEdtf
 
    FILTER ( datatype(?date_edtf) = xsd:edtf  ) .
           
    SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE], en, en-gb". }  
    }
 
ORDER BY ?personLabel


</sparql>
</sparql>


=== Any main level date for women ===
===Full values: dates ===


<sparql tryit="1">
<sparql tryit="1">
# a query to get all types of main date for women


PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
# query for full values to access the timeValue and timePrecision of a date, in this case a date of birth.
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
 
## why is a more complex query needed?
## simple value for a date doesn't differentiate between (eg) "1880" and "1 January 1880"; both are returned as 1 January 1880 (and SELECT DISTINCT will collapse them into a single result)
## there are 14 codes for precision from billion years to second. 7: century, 8: decade, 9: year, 10: month, 11: day
## NB additional bnpsv: prefix
## https://www.mediawiki.org/wiki/Wikibase/Indexing/RDF_Dump_Format#Value_representation
 
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
PREFIX bnwdv: <https://beyond-notability.wikibase.cloud/value/>
PREFIX bnwdt: <https://beyond-notability.wikibase.cloud/prop/direct/>
PREFIX bnp: <https://beyond-notability.wikibase.cloud/prop/>
PREFIX bnps: <https://beyond-notability.wikibase.cloud/prop/statement/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
PREFIX bnpsv: <https://beyond-notability.wikibase.cloud/prop/statement/value/>
 
SELECT DISTINCT ?item ?itemLabel ?date ?precision
WHERE {
  ?item bnp:P26  ?statement. # date of birth (precision of these varies quite a bit)
  ?statement bnpsv:P26 ?valueNode.
  ?valueNode wikibase:timeValue ?date.
  ?valueNode wikibase:timePrecision ?precision.
 
  SERVICE wikibase:label { bd:serviceParam wikibase:language "en". }
}
ORDER BY ?date
 
</sparql>
 
=== Any main level date for women ===
 
<sparql tryit="1">
# a query to get all types of main date for women
 
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
PREFIX bnwdv: <https://beyond-notability.wikibase.cloud/value/>
PREFIX bnwdv: <https://beyond-notability.wikibase.cloud/value/>
PREFIX bnwdt: <https://beyond-notability.wikibase.cloud/prop/direct/>
PREFIX bnwdt: <https://beyond-notability.wikibase.cloud/prop/direct/>
Line 3,712: Line 4,065:
   UNION
   UNION
    
    
   { # qualifier dates
   { # FIXME? qualifier dates. hmm... how is this different from above? I think something is missing.
      
      
     ?person bnwdt:P3 bnwd:Q3 .   
     ?person bnwdt:P3 bnwd:Q3 .   
Line 3,841: Line 4,194:
</sparql>
</sparql>


==Admin==
=== Women having children ===
 
===Women about whom we have recorded fewer than 3 pieces of information===


<sparql tryit="1">
<sparql tryit="1">
#title:women having children
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
Line 3,854: Line 4,206:
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>


SELECT ?person ?personLabel ?statements WHERE {
# lol defaultView:Timeline{"hide":["?s", "?date_prec", ""]}
  ?person bnwdt:P3 bnwd:Q3 ;
 
        wikibase:statements ?statements .
# P131 had child in / P45 child
  FILTER NOT EXISTS {?person bnwdt:P4 bnwd:Q12 .}
# a handful of P45 named children don't have dob though probably have dob in wikidata
  FILTER (?statements <3)
 
  SERVICE wikibase:label {
SELECT distinct ?person ?personLabel ?childLabel ?date_value ?date_prec ?had_child_edtf ?note 
      bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en-gb".
?s
  }
 
}
where {
</sparql>


===People for whom their item records is given as 'Mrs'===
  ?person bnwdt:P3 bnwd:Q3 . # select women
  FILTER NOT EXISTS {?person bnwdt:P4 bnwd:Q12 .} #filter out project team
 
  # had child in (unnamed children)
  ?person bnp:P131 ?s .
      ?s bnps:P131 ?had_child_edtf . # keep the edtf date for reference, though i think you can just use the time value/prec with these.


<sparql tryit="1">
  # get dates detail via ?s and psv
SELECT ?id ?name
   # gets edtf dates in std wiki date format
WHERE { 
   # https://github.com/ProfessionalWiki/WikibaseEdtf 
   ?id rdfs:label ?name .
      ?s ?psv ?wdv .
   FILTER regex(?name, "mrs *", "i") #this line uses regular expression syntax, described at https://regexper.com/#mrs%5Cs*
        ?wdv wikibase:timeValue ?date_value .
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en-gb". }
        ?wdv wikibase:timePrecision ?date_prec .
}
 
</sparql>
  # filter edtf date.
  FILTER ( datatype(?had_child_edtf) = xsd:edtf ) . #shows only the raw EDTF string from the query results


===All triples in the wiki, limited to 1000===
  # interesting, when you put this after wikibase:timeValue it seems to get every timey-wimey statement for women who have had child in ? (but only one)
  #?person bnwdt:P131 ?had_child . 
   
  # not much added in quals for had child. only maybe note P47. some have sourcing circumstances.
  optional { ?s bnpq:P47 ?note .  } #


<sparql tryit="1">
  }
SELECT ?a ?aLabel ?b ?c WHERE {
  union
    ?a ?b ?c
  {
     SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en-gb". }
  # named children (are any in both sections??? from dates looks possible a couple might be [wherry / hodgson])
  ?person bnp:P45 ?s.
        ?s bnps:P45 ?child .
      optional { ?child bnp:P26 ?ss .
                    ?ss bnps:P26 ?dob .
                    ?ss ?psv ?wdv .
                        ?wdv wikibase:timeValue ?date_value .
                        ?wdv wikibase:timePrecision ?date_prec .
              }
  }
 
     SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,en-gb". }
}
}
LIMIT 1000 #please don't make this number too big as it will slow down the site!
</sparql>


===All triples in the wiki, represented as a crude graph===
order by ?person ?date_value
 
<sparql tryit="1">
#defaultView:Graph
SELECT ?a ?aLabel ?c ?cLabel WHERE {
    ?a ?b ?c
    SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en-gb". }
}
#note query returns every connection in the wikibase so it may fall over!
</sparql>
</sparql>


===People whose assigned gender we have been unable to determine and/or confirm===
=== Women who were adults in 1911 ===


<sparql tryit="1">
<sparql tryit="1">
#title:Women who were adults in 1911 and their calculated ages
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
Line 3,907: Line 4,271:
PREFIX bnps: <https://beyond-notability.wikibase.cloud/prop/statement/>
PREFIX bnps: <https://beyond-notability.wikibase.cloud/prop/statement/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
PREFIX wdt: <http://www.wikidata.org/prop/direct/>
PREFIX wd:  <http://www.wikidata.org/entity/>
SELECT ?person ?personLabel
WHERE { 
  ?person bnwdt:P3 ?gender .                             
  FILTER NOT EXISTS {?person bnwdt:P3 bnwd:Q3 .}          #filter out people identified as women
  FILTER NOT EXISTS {?person bnwdt:P3 bnwd:Q10 .}          #filter out people identified as men
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en-gb". }
}
ORDER BY ?personLabel
</sparql>


===People who have a spouse statement and - optionally - marriage date statements for checking if there is any misalignment with 'Spouse not in wikibase' statements===
SELECT distinct ?person ?personLabel ?statements ?dob ?dod ?age1911


<sparql tryit="1">
WHERE {
# people who have a spouse statement and - optionally - marriage date statements for checking if there is any misalignment with 'Spouse not in wikibase' statements
  ?person bnwdt:P3 bnwd:Q3 ;
 
        wikibase:statements ?statements .
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
  FILTER NOT EXISTS {?person bnwdt:P4 bnwd:Q12 .}
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
PREFIX bnwdv: <https://beyond-notability.wikibase.cloud/value/>
  ?person bnwdt:P26 ?dob .
PREFIX bnwdt: <https://beyond-notability.wikibase.cloud/prop/direct/>
PREFIX bnp: <https://beyond-notability.wikibase.cloud/prop/>
PREFIX bnps: <https://beyond-notability.wikibase.cloud/prop/statement/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
 
SELECT ?person ?personLabel ?spouse ?spouseLabel ?edtfmarriagespouse ?edtfmarriagespouseLabel ?PITmarriagespouse ?PITmarriagespouseLabel WHERE {
  ?person bnwdt:P41 ?spouse .
  OPTIONAL {?person bnp:P132 ?edtfmarriagestatement .
  ?edtfmarriagestatement bnps:P132 ?edtfmarriagedate .
  ?edtfmarriagestatement bnpq:P41 ?edtfmarriagespouse .}
  OPTIONAL {?person bnp:P130 ?PITmarriagestatement .
  ?PITmarriagestatement bnps:P130 ?PITmarriagedate .
  ?PITmarriagestatement bnpq:P41 ?PITmarriagespouse .}
    SERVICE wikibase:label {
      bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en-gb".
    }
}
ORDER BY DESC(?edtfmarriagespouseLabel) DESC(?PITmarriagespouseLabel)
</sparql>
 
=== Compare uses of item v free text ===
 
<sparql tryit="1">
# A number of properties have "item" and "free text" versions; a query to fetches both versions in each case to facilitate comparison of their uses.


PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
  #optional {
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
      ?person bnwdt:P15 ?dod .  
PREFIX bnwdv: <https://beyond-notability.wikibase.cloud/value/>
  #}
PREFIX bnwdt: <https://beyond-notability.wikibase.cloud/prop/direct/>
PREFIX bnp: <https://beyond-notability.wikibase.cloud/prop/>
PREFIX bnps: <https://beyond-notability.wikibase.cloud/prop/statement/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
PREFIX bnpsv: <https://beyond-notability.wikibase.cloud/prop/statement/value/>
PREFIX bnpqv: <https://beyond-notability.wikibase.cloud/prop/qualifier/value/>
 
SELECT distinct ?itemLabel ?prop_label ?qual_label ?qual_value ?qual_valueLabel ?item ?qual_prop
 
# most of these are used in qualifiers - only P72, P71 and P88 found in main (and only a handful of uses of free text?)
#?item (  bnp:P88|bnp:P91 | bnp:P72|bnp:P71) ?s .  
 
## the pairs
#P21 evidence (free text) / P20 evidence (item)
#P79 item exhibited / P80 item exhibited (free text)
#P78 of / P66 of (free text)
#P91 specific reference information / P88 specific reference information (free text)
#P31 street address (free text) / P100 street address (item)
#P72 was delegate at (free text) / P71 was delegate at (item)
 
WHERE {
    
    
   ?item ?p ?s .  
   filter(year(?dod) > 1911 && year(?dob) <=1893 ) .
    
   ?prop wikibase:claim ?p;     
   #if dod is made optional a more complex filter to include some women who were likely to still be alive in 1911. but doesnt add very many.
        rdfs:label ?prop_label. filter(lang(?prop_label)="en-gb") .  
   #filter( ( year(?dob) <= 1893 && year(?dod) > 1911 ) || ( year(?dob) <= 1893 && year(?dob) >1870 ) ) .
   
  ?s ( bnpq:P21|bnpq:P20 | bnpq:P80|bnpq:P79 | bnpq:P66|bnpq:P78 | bnpq:P88|bnpq:P91 | bnpq:P31|bnpq:P100 | bnpq:P72|bnpq:P71 ) ?qual_value .
    
    
   ?s ?qual_p ?qual_value . 
   #Date literals can be written by adding ^^xsd:dateTime to an ISO 8601 date string: "2012-10-29"^^xsd:dateTime
    ?qual_prop wikibase:qualifier ?qual_p;
          wikibase:propertyType ?qual_prop_type ;
          rdfs:label ?qual_label. filter(lang(?qual_label)='en-gb') .
 
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en-gb". }
}
order by ?qual_label ?prop_label ?itemLabel
 
</sparql>
 
=== Missing language labels ===
 
<sparql tryit="1">
 
# query to check for any items/properties which don't have "en" labels. [currently not an issue but retained for reference.]
 
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
PREFIX bnwdv: <https://beyond-notability.wikibase.cloud/value/>
PREFIX bnwdt: <https://beyond-notability.wikibase.cloud/prop/direct/>
PREFIX bnp: <https://beyond-notability.wikibase.cloud/prop/>
PREFIX bnps: <https://beyond-notability.wikibase.cloud/prop/statement/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
PREFIX bnpsv: <https://beyond-notability.wikibase.cloud/prop/statement/value/>
PREFIX bnpqv: <https://beyond-notability.wikibase.cloud/prop/qualifier/value/>
 
SELECT
  ?item  ?itemLabel
  (group_concat(distinct ?language) as ?languages)
  (count(distinct ?rdfs_label) as ?count) # TIL: where you put distinct matters! 
 
WHERE {
 
  ?item ?p ?s.
  ?item rdfs:label ?rdfs_label .  # rdfs item label (1 per language).
 
  BIND(LANG(?rdfs_label) as ?language) .  # get 2 letter language codes
 
  #optional { ?item rdfs:label ?engb . filter(lang(?engb)="en-gb").  }
  #optional { ?item rdfs:label ?en . filter(lang(?en)="en").  } 
 
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE], en-gb, en". }
}
group by ?item  ?itemLabel
HAVING (?count<2)
order by ?item
 
</sparql>
 
=== Statements that contain both a date *and* an unknown value date===
 
<sparql tryit="1">
# A query to look for statements containing an <unknown value> date *and* a date
# caveat: not yet completely sure if it will work in all cases for main dates
 
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
PREFIX bnwdv: <https://beyond-notability.wikibase.cloud/value/>
PREFIX bnwdt: <https://beyond-notability.wikibase.cloud/prop/direct/>
PREFIX bnp: <https://beyond-notability.wikibase.cloud/prop/>
PREFIX bnps: <https://beyond-notability.wikibase.cloud/prop/statement/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
 
SELECT  ?item ?itemLabel ?main_label ?qualLabel ?subLabel
(group_concat(distinct ?date_prop) as ?dates) 
(count (distinct(isBLANK(?t))) as ?tcount) 
?s
 
# using isBlank() in select creates true/false, then count distinct finds any in a group having >1.
 
WHERE
{
  {
  # qualifiers. [qualifiers need to include ?s in the group by]
  ?item ?p ?s.
 
  # labels
  ?s ?subp ?sub .
  ?qual wikibase:claim ?p;
        wikibase:statementProperty ?subp. 
 
    ?s ?pq ?t .
 
    ?date_prop wikibase:qualifier ?pq ;
            wikibase:propertyType ?date_prop_type .
    filter(?date_prop_type in (wikibase:Time, wikibase:Edtf) ).
  }
  UNION
  {
  # main [excluding ?s from group by this time]
  ?item ?p ?sm.
  ?sm ?ps ?t .
   
  ?date_prop wikibase:claim ?p.
  ?date_prop wikibase:statementProperty ?ps.
  ?date_prop wikibase:propertyType ?date_prop_type .
  ?date_prop rdfs:label ?main_label .  filter(lang(?main_label)="en-gb") .
   
  filter(?date_prop_type in (wikibase:Time, wikibase:Edtf) ).
  }
 
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,en_gb" }
}
 
group by ?item ?itemLabel ?s ?qualLabel ?subLabel  ?main_label
having (?tcount >1 )  # comment out to get everything
 
ORDER BY ?itemLabel ?main_label ?qualLabel ?subLabel ?date_prop
 
</sparql>
 
 
=== Women with no dates===
 
<sparql tryit="1">
 
# Query for women with no dates
# WIP: at present this includes <unknown value> dates as well as no dates at all [eg Miss Keyser Q2622]
# CAVEAT: the WQS bug means there are likely to be some women in results who do, in fact, have at least one date.
 
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
PREFIX bnwdv: <https://beyond-notability.wikibase.cloud/value/>
PREFIX bnwdt: <https://beyond-notability.wikibase.cloud/prop/direct/>
PREFIX bnp: <https://beyond-notability.wikibase.cloud/prop/>
PREFIX bnps: <https://beyond-notability.wikibase.cloud/prop/statement/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
PREFIX bnpsv: <https://beyond-notability.wikibase.cloud/prop/statement/value/>
PREFIX bnpqv: <https://beyond-notability.wikibase.cloud/prop/qualifier/value/>
 
SELECT distinct ?person ?personLabel  (count(?date_value) as ?count)
 
WHERE {
{  # main dates
 
  ?person bnwdt:P3 bnwd:Q3 . # women 
  optional {
    ?person ?p ?s .       
      ?s ?date_prop ?wdv .
        ?wdv wikibase:timeValue ?date_value . } 
 
} # /main dates
 
  UNION
 
  { # qualifier dates
   
    ?person bnwdt:P3 bnwd:Q3 . 
  optional {
    ?person ?p ?s .   
      ?s ?date_prop ?pqv .
        ?pqv wikibase:timeValue ?date_value. }
   
  }  # /qual dates
 
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en-gb,en". }
 
} # /where
group by ?person ?personLabel
having (?count=0)
ORDER BY ?person
 
</sparql>
 
 
=== Women with more than X statements but no date of birth/death===
 
<sparql tryit="1">
 
#title:women with n>X statements but no date of birth/death
# CAVEAT this currently finds some women who do in fact have dates, because of WQS bug
# updated to add extra info
 
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
PREFIX bnwdv: <https://beyond-notability.wikibase.cloud/value/>
PREFIX bnwdt: <https://beyond-notability.wikibase.cloud/prop/direct/>
PREFIX bnp: <https://beyond-notability.wikibase.cloud/prop/>
PREFIX bnps: <https://beyond-notability.wikibase.cloud/prop/statement/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
 
 
SELECT distinct ?person ?personLabel ?statements ?dob ?dod
(if(bound(?SALproposed), "yes", "") as ?FSA)
(if(bound(?RAIproposed), "yes", "") as ?RAI)
(if(bound(?resided), "yes", "") as ?residence) 
(if(bound(?main_date), "yes", "") as ?other_maindate)
(if(bound(?qual_d), "yes", "") as ?qual_date)
 
WHERE {
  ?person bnwdt:P3 bnwd:Q3 ;
        wikibase:statements ?statements .
  FILTER NOT EXISTS {?person bnwdt:P4 bnwd:Q12 .}
 
  optional { ?person bnwdt:P15 ?dod .  }
  optional { ?person bnwdt:P26 ?dob .  }
 
  optional { # was elected FSA. comment out optional lines to get FSAs only...
    ?person bnp:P16 ?s .
        ?s bnps:P16 ?SALproposed .
        ?s bnpq:P22 bnwd:Q36 .  # successful Q36. will you end up with 2 rows if there's a successful and unsuccessful?
  } #/optional fsa
 
  optional { # was elected RAI. only one unsuccessful, so just ignore that bit.
    ?person bnwdt:P7 ?RAIproposed .
  }
 
  optional { ?person bnwdt:P29 ?resided . } # place of residence
 
  optional {
    # main dates, apart from birth and death: P133 (widowed) P132 (married edtf) P131 (had child) P130 (married pit)   
    ?person ( bnwdt:P130 | bnwdt:P131 | bnwdt:P132 | bnwdt:P133 ) ?main_date .
    } # /optional main dates
 
  optional {
    # qualifier dates 
    ?person ?p ?s .   
      ?s ?date_prop ?pqv .
        ?pqv wikibase:timeValue ?qual_d.
    } #/ optional qual dates
 
  FILTER (?statements >10) . # can adjust n statements here...
 
  FILTER (NOT EXISTS { ?person bnwdt:P15 ?dod .} || NOT EXISTS { ?person bnwdt:P26 ?dob .  } ) . # EITHER no date of birth OR no date of death. or swap with following line...
  #FILTER (NOT EXISTS { ?person bnwdt:P15 ?dod .} && NOT EXISTS { ?person bnwdt:P26 ?dob .  } ) . # no date of birth AND no date of death
   
  SERVICE wikibase:label {
      bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en-gb".
  }
}
order by ?personLabel
 
</sparql>
 
=== Places of residence that lack instance of locality===
 
<sparql tryit="1">
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
PREFIX bnwdv: <https://beyond-notability.wikibase.cloud/value/>
PREFIX bnwdt: <https://beyond-notability.wikibase.cloud/prop/direct/>
PREFIX bnp: <https://beyond-notability.wikibase.cloud/prop/>
PREFIX bnps: <https://beyond-notability.wikibase.cloud/prop/statement/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
 
SELECT distinct ?residence ?residenceLabel ?inst ?instLabel
WHERE { 
  ?resident bnwdt:P29 ?residence . # resided at
  filter not exists { ?residence bnwdt:P12 bnwd:Q2147 . } # that doesn't have instance of locality
 
  optional {?residence bnwdt:P12 ?inst .} # does it have instance of anything? 
      ## Note: some have Q618 territory of the British Empire, which also lacks any instance of at present
 
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,en-gb". }
}
ORDER BY ?residenceLabel
</sparql>
 
=== Locations that don't have Wikidata links or their Wikidata pages lack geocoordinates===
 
<sparql tryit="1">
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
PREFIX bnwdv: <https://beyond-notability.wikibase.cloud/value/>
PREFIX bnwdt: <https://beyond-notability.wikibase.cloud/prop/direct/>
PREFIX bnp: <https://beyond-notability.wikibase.cloud/prop/>
PREFIX bnps: <https://beyond-notability.wikibase.cloud/prop/statement/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
 
 
SELECT distinct ?locationLabel ?location ?wikidata ?wd_geo ?instanceLabel ?bn_geo
WHERE { 
 
  {?item bnwdt:P29  ?location . } # resided at
  union
  {?location bnwdt:P12 bnwd:Q2147 .} # OR has instance of locality
  union
  {?item bnwdt:P2  ?location . } # OR location P2
  # any other possibles ?
 
  optional { ?location bnwdt:P12 ?instance .  } # check instance of
 
  optional {   
      ?location bnwdt:P117 ?ws .  # wikidata id       
       
        bind(iri(concat("http://www.wikidata.org/entity/", str(?ws))) as ?wikidata) .
 
 
        SERVICE <https://query.wikidata.org/sparql> {
          optional {?wikidata wdt:P625 ?wd_geo .}  # does the wikidata page have geocoords?
        } # /wikidata service 
    } #/wikidata optional
 
  filter (!bound(?wd_geo) ). # no geocoords in wikidata. some may have coords in BN...
 
  optional { ?location bnwdt:P153 ?bn_geo .  } # so check for coords in BN
  ##filter (!bound(?bn_geo)) . # uncomment to filter those out as well
 
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,en-gb". }
}
ORDER BY ?wikidata ?locationLabel
 
</sparql>
 
=== Archaeological sites that don't have National Heritage England list numbers ===
 
<sparql tryit="1">
#title:archaeological sites without National Heritage numbers
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
PREFIX bnwdv: <https://beyond-notability.wikibase.cloud/value/>
PREFIX bnwdt: <https://beyond-notability.wikibase.cloud/prop/direct/>
PREFIX bnp: <https://beyond-notability.wikibase.cloud/prop/>
PREFIX bnps: <https://beyond-notability.wikibase.cloud/prop/statement/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
 
SELECT ?item ?itemLabel ?location ?locationLabel
(if(bound(?locEngland), "yes", "") as ?inEngland)
 
WHERE { 
  ?item bnwdt:P12 bnwd:Q86 . # item instance of archaeological site
 
  filter not exists {?item bnwdt:P129 ?thing .  } # without NH list number
 
  optional { ?item bnwdt:P2 ?location .  } # location if it has one
  optional { ?item bnwdt:P2 ?locEngland .
              ?locEngland bnwdt:P33+ bnwd:Q617.
          } # is the location in England
 
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en-gb". }
}
 
order by ?itemLabel
 
</sparql>
 
=== Date of latest edit for every item, according to WQS ===
 
<sparql tryit="1">
#title:latest edits dates for wikibase items
 
## because of WQS disappearing data bugs this may not always match the latest edit in the page history
 
SELECT ?item ?date ?dateLabel
WHERE {
  ?item wikibase:timestamp ?date .
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,en-gb". }
}
order by ?date
 
</sparql>
 
=== Wikidata ID is a URL ===
 
<sparql tryit="1">
 
#title:check for accidental use of URL instead of wikidata ID
## all checked and fixed at 18/12/23 but adding the query in case it recurs
 
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
PREFIX bnwdv: <https://beyond-notability.wikibase.cloud/value/>
PREFIX bnwdt: <https://beyond-notability.wikibase.cloud/prop/direct/>
PREFIX bnp: <https://beyond-notability.wikibase.cloud/prop/>
PREFIX bnps: <https://beyond-notability.wikibase.cloud/prop/statement/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
 
 
SELECT distinct ?item ?itemLabel ?wd_http
WHERE { 
 
  ?item bnwdt:P117 ?wd_http .  # wikidata id       
 
  filter(strstarts(str(?wd_http), "http")).
 
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,en-gb". }
}
ORDER BY ?itemLabel
</sparql>
 
=== Wikidata URL is not a URL ===
 
<sparql tryit="1">
#title:check for wikidata URLs that don't start with http. could still be other problems!
## all checked and fixed at 18/12/23 but adding the query in case of any recurring issues
 
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
PREFIX bnwdv: <https://beyond-notability.wikibase.cloud/value/>
PREFIX bnwdt: <https://beyond-notability.wikibase.cloud/prop/direct/>
PREFIX bnp: <https://beyond-notability.wikibase.cloud/prop/>
PREFIX bnps: <https://beyond-notability.wikibase.cloud/prop/statement/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
 
 
SELECT distinct ?item ?itemLabel ?wd_url
WHERE { 
 
  ?item bnp:P117 ?ws .  # wikidata id       
    ?ws bnpq:P14 ?wd_url .
  filter(!strstarts(str(?wd_url), "http")).
 
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,en-gb". }
}
ORDER BY ?itemLabel
</sparql>
 
=== Oxford and Cambridge academic degrees potential date problems ===
 
<sparql tryit="1">
#title:academic degree Oxford/Cambridge date issues
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
PREFIX bnwdv: <https://beyond-notability.wikibase.cloud/value/>
PREFIX bnwdt: <https://beyond-notability.wikibase.cloud/prop/direct/>
PREFIX bnp: <https://beyond-notability.wikibase.cloud/prop/>
PREFIX bnps: <https://beyond-notability.wikibase.cloud/prop/statement/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
PREFIX bnpqv: <https://beyond-notability.wikibase.cloud/prop/qualifier/value/>
 
SELECT distinct ?personLabel ?degreeLabel ?byLabel ?subjectLabel
?date ?date_label  ?s ?person #?subject ?degree ?by ?university
 
WHERE { 
  ?person bnwdt:P3 bnwd:Q3 . #select women
 
  # academic degree = P59.
  ?person bnp:P59 ?s . 
    ?s bnps:P59 ?degree . # type of degree
 
  # optional qualifiers for degree
 
  # P60 subject
    optional { ?s bnpq:P60 ?subject}
 
  # P61 conferred by
    ?s bnpq:P61 ?by . 
 
  # date with type
    ?s ?pq ?date .     
      ?qual_prop wikibase:qualifier ?pq;
              wikibase:propertyType wikibase:Time ; # nb excludes edtf dates
              rdfs:label ?date_label . filter(lang(?date_label)="en") . # what kind of date is it.
     
# filter: (cambridge (Q1181) and before 1948) OR (oxford (Q364) and before 1920)
 
  filter( ( year(?date)<1920 && ?by=bnwd:Q364 ) || ( year(?date)<1948 && ?by=bnwd:Q1181 ) )
 
     
  SERVICE wikibase:label {bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en-gb,en".}
}
order by ?byLabel ?personLabel ?date ?degreeLabel
</sparql>
 
=== Position held: item v free text ===
 
<sparql tryit="1">
# held position job titles item v held position free text
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
PREFIX bnwdv: <https://beyond-notability.wikibase.cloud/value/>
PREFIX bnwdt: <https://beyond-notability.wikibase.cloud/prop/direct/>
PREFIX bnp: <https://beyond-notability.wikibase.cloud/prop/>
PREFIX bnps: <https://beyond-notability.wikibase.cloud/prop/statement/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
PREFIX bnpsv: <https://beyond-notability.wikibase.cloud/prop/statement/value/>
PREFIX bnpqv: <https://beyond-notability.wikibase.cloud/prop/qualifier/value/>
 
SELECT
?work_label  ?positionLabel ?position (count(*) as ?count)
 
WHERE {
 
  ?person bnwdt:P3 bnwd:Q3 . # women
 
  # get work activities: held position / held position (free text) /  employed as
  ?person ( bnp:P17|bnp:P48 ) ?s . 
 
  ?person ?work_p ?s . # for work type label
  ?work wikibase:claim ?work_p;     
        rdfs:label ?work_label. filter(lang(?work_label)="en") . 
   
    # more about the position
    ?s ( bnps:P17|bnps:P48 ) ?position . 
 
  FILTER( !isBLANK(?position)  ) . # filter out <unknown value>
 
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,en-gb". }
}
group by ?work_label  ?positionLabel ?position
order by lcase(str(?positionLabel))
</sparql>
 
==== Women with position held free text ====
 
<sparql tryit="1">
# held position free text job titles
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
PREFIX bnwdv: <https://beyond-notability.wikibase.cloud/value/>
PREFIX bnwdt: <https://beyond-notability.wikibase.cloud/prop/direct/>
PREFIX bnp: <https://beyond-notability.wikibase.cloud/prop/>
PREFIX bnps: <https://beyond-notability.wikibase.cloud/prop/statement/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
PREFIX bnpsv: <https://beyond-notability.wikibase.cloud/prop/statement/value/>
PREFIX bnpqv: <https://beyond-notability.wikibase.cloud/prop/qualifier/value/>
 
SELECT ?person ?personLabel ?positionLabel
 
WHERE {
 
  ?person bnwdt:P3 bnwd:Q3 . # women
 
  # held position (free text)
  ?person bnwdt:P48  ?position . 
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,en-gb". }
}
order by ?personLabel ?positionLabel
</sparql>
 
=== Questions ===
 
<sparql tryit="1">
 
#title:asking questions
 
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
PREFIX bnwdv: <https://beyond-notability.wikibase.cloud/value/>
PREFIX bnwdt: <https://beyond-notability.wikibase.cloud/prop/direct/>
PREFIX bnp: <https://beyond-notability.wikibase.cloud/prop/>
PREFIX bnps: <https://beyond-notability.wikibase.cloud/prop/statement/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
PREFIX bnpsv: <https://beyond-notability.wikibase.cloud/prop/statement/value/>
PREFIX bnpqv: <https://beyond-notability.wikibase.cloud/prop/qualifier/value/>
 
 
SELECT ?personLabel ?propLabel ?link ?question
 
WHERE { 
  ?person bnwdt:P3 bnwd:Q3 .
 
  ?person ?p ?s .
      ?prop wikibase:claim ?p;     
        wikibase:statementProperty ?ps.     
         
  # direct link to relevant part of page
        BIND (REPLACE(STR(?prop), "^.*/([^/]*)$", "$1") as ?pid).
        bind(iri(concat(str(?person), "#", ?pid)) as ?link ) .
 
  # the question
    ?s bnpq:P157 ?question . 
 
       
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,en-gb". }
}
 
order by ?personLabel
</sparql>
 
==Tools for batch processing and quality assurance work==
 
===All people (by assigned gender), filtering out those already listed as instance of human===
 
<sparql tryit="1">
# All people (by assigned gender), filtering out those already listed as instance of human
 
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
PREFIX bnwdv: <https://beyond-notability.wikibase.cloud/value/>
PREFIX bnwdt: <https://beyond-notability.wikibase.cloud/prop/direct/>
PREFIX bnp: <https://beyond-notability.wikibase.cloud/prop/>
PREFIX bnps: <https://beyond-notability.wikibase.cloud/prop/statement/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
PREFIX wdt: <http://www.wikidata.org/prop/direct/>
PREFIX wd:  <http://www.wikidata.org/entity/>
 
SELECT ?person ?personLabel ?assigned_genderLabel
WHERE { 
  ?person bnwdt:P3 ?assigned_gender .                        #select person
  FILTER NOT EXISTS {?person bnwdt:P12 bnwd:Q2137 .}        #filter out people already listed as instance of human
  FILTER NOT EXISTS {?person bnwdt:P12 bnwd:Q12 .}            #filter out project team
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en-gb". }
}
ORDER BY ?personLabel
</sparql>
 
===All places (by coordinate location on wikidata), filtering out places already listed as instance of locality===
 
<sparql tryit="1">
# All places (by coordinate location on wikidata), filtering out places already listed as instance of locality
 
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
PREFIX bnwdv: <https://beyond-notability.wikibase.cloud/value/>
PREFIX bnwdt: <https://beyond-notability.wikibase.cloud/prop/direct/>
PREFIX bnp: <https://beyond-notability.wikibase.cloud/prop/>
PREFIX bnps: <https://beyond-notability.wikibase.cloud/prop/statement/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
PREFIX wdt: <http://www.wikidata.org/prop/direct/>
PREFIX wd:  <http://www.wikidata.org/entity/>
PREFIX p: <http://www.wikidata.org/prop/>
PREFIX pr: <http://www.wikidata.org/prop/reference/>
PREFIX prov: <http://www.w3.org/ns/prov#>
 
SELECT ?place ?placeLabel ?WDitem ?WDcoordinate_location
 
WHERE { 
  ?place bnwdt:P33 ?admin_area .  #select items with 'located in the administrative territorial entity' statements
  ?place bnwdt:P117 ?Qnumber .    #get wikidata ID
  FILTER NOT EXISTS {?place bnwdt:P12 bnwd:Q2147 .}      #filter out places already listed as instance of locality
 
  #create reference to Wikibase entity
  BIND(IRI(concat("http://www.wikidata.org/entity/", ?Qnumber)) as ?WDitem )
  #on Wikibase do
  SERVICE <https://query.wikidata.org/sparql> {
        ?WDitem wdt:P625 ?WDcoordinate_location . #get coordinate location on wikidata
      }
 
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en-gb". }
}
GROUP BY ?place ?placeLabel ?WDitem ?WDcoordinate_location
ORDER BY ?placeLabel
</sparql>
 
===All items without a P12 (instance of) triple===
 
<sparql tryit="1">
#title:nearly all items without P12 (instance of)
#NB: the query will only find items that have at least one statement; this excludes a small number of Qs and a larger number (~35) of Ps.
#see separate query to find items without any statements
 
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
PREFIX bnwdv: <https://beyond-notability.wikibase.cloud/value/>
PREFIX bnwdt: <https://beyond-notability.wikibase.cloud/prop/direct/>
PREFIX bnp: <https://beyond-notability.wikibase.cloud/prop/>
PREFIX bnps: <https://beyond-notability.wikibase.cloud/prop/statement/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
 
SELECT distinct ?item ?itemLabel
WHERE {
  ?item ?b ?c .
      ?prop wikibase:claim ?b;   
            wikibase:statementProperty ?ps.
      # ?prop wikibase:propertyType wikibase:WikibaseItem. # limit to P & Q Items. not necessary; only the claim is needed.
      # weirdness: it still causes some things that are definitely WikibaseItem to be dropped and idk why.
 
  FILTER NOT EXISTS {?item bnwdt:P12 ?instance .}
 
## FILTER(STRSTARTS(STR(?item), "https://beyond-notability.wikibase.cloud/entity/P")) . # uncomment to limit to P Properties
## FILTER(STRSTARTS(STR(?item), "https://beyond-notability.wikibase.cloud/entity/Q")) .  # or limit to Q items
 
  SERVICE wikibase:label {
      bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,en-gb".
  }
}
</sparql>
 
===Counts of items for each value of the property "instance of" (P12)===
 
<sparql tryit="1">
 
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
PREFIX bnwdv: <https://beyond-notability.wikibase.cloud/value/>
PREFIX bnwdt: <https://beyond-notability.wikibase.cloud/prop/direct/>
PREFIX bnp: <https://beyond-notability.wikibase.cloud/prop/>
PREFIX bnps: <https://beyond-notability.wikibase.cloud/prop/statement/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
 
 
SELECT  ?value ?valueLabel  (count(*) as ?count)
WHERE { 
 
  VALUES (?p) { (bnwdt:P12) } 
 
  ?s ?p ?value.
 
  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,en-gb". }
 
}
GROUP BY ?value ?valueLabel
 
ORDER BY lcase(?valueLabel) # order by is case sensitive
# or to order by count
# order by ?count
 
</sparql>
 
===Get all items (with 'instance of' statement) for duplicate checking in OpenRefine===
 
<sparql tryit="1">
# Get all items (with 'instance of' statement) for duplicate checking in OpenRefine
 
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
PREFIX bnwdv: <https://beyond-notability.wikibase.cloud/value/>
PREFIX bnwdt: <https://beyond-notability.wikibase.cloud/prop/direct/>
PREFIX bnp: <https://beyond-notability.wikibase.cloud/prop/>
PREFIX bnps: <https://beyond-notability.wikibase.cloud/prop/statement/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
 
SELECT ?item ?itemLabel WHERE {
  ?item bnwdt:P12 ?anything .
  SERVICE wikibase:label {
      bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en-gb".
  }
}
 
ORDER BY ?itemLabel
</sparql>
 
===All uses of <unknown value>===
 
<sparql tryit="1">
# Query to look for uses of <unknown value> (now including qualifiers)
 
PREFIX bnwd: <https://beyond-notability.wikibase.cloud/entity/>
PREFIX bnwds: <https://beyond-notability.wikibase.cloud/entity/statement/>
PREFIX bnwdv: <https://beyond-notability.wikibase.cloud/value/>
PREFIX bnwdt: <https://beyond-notability.wikibase.cloud/prop/direct/>
PREFIX bnp: <https://beyond-notability.wikibase.cloud/prop/>
PREFIX bnps: <https://beyond-notability.wikibase.cloud/prop/statement/>
PREFIX bnpq: <https://beyond-notability.wikibase.cloud/prop/qualifier/>
 
SELECT distinct  ?item ?itemLabel  ?mainLabel ?sub_Label ?unknown_value_forLabel  ?unknown_value_for ?t
WHERE
{
{
  # qualifiers
  ?item ?p ?s.
 
  ?s ?sub ?sub_ .
  ?main wikibase:claim ?p.
  ?main wikibase:statementProperty ?sub. 
 
  ?s ?pq ?t .
 
  ?unknown_value_for wikibase:qualifier ?pq . 
  FILTER( isBLANK(?t)  ) . # filter for <unknown value>
  }
  UNION
  {
  # top level
  ?item ?p ?s.
  ?s ?ps ?t .
 
  ?unknown_value_for wikibase:claim ?p.
  ?unknown_value_for wikibase:statementProperty ?ps.
   
  FILTER( isBLANK(?t) ) .
  }
    
    
   SERVICE wikibase:label { bd:serviceParam wikibase:language "en" }
   bind(year("1911-07-01"^^xsd:dateTime) - year(?dob) as ?age1911 ).


    SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,en-gb". }
}
}
ORDER BY ?itemLabel ?unknown_value_forLabel
</sparql>
=== Items without any statements ===
<sparql tryit="1">
#title:items with 0 statements
# NB: because of the WQS disappearing data bugs, a few of the items might in reality have n>0 statements. Some may be intentionally empty.


SELECT distinct ?item  ?itemLabel
ORDER BY ?personLabel
WHERE {
  ?item wikibase:statements 0 .


  SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en,en-gb". }
}
order by ?item
</sparql>
</sparql>
664

edits