579
edits
Line 2,793: | Line 2,793: | ||
ORDER BY ?count ?person | ORDER BY ?count ?person | ||
</sparql> | |||
=== Start dates that might not have accompanying end dates === | |||
<sparql tryit="1"> | |||
#title:Women with start dates that might not have accompanying end 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/> | |||
PREFIX bnpsv: <https://beyond-notability.wikibase.cloud/prop/statement/value/> | |||
PREFIX bnpqv: <https://beyond-notability.wikibase.cloud/prop/qualifier/value/> | |||
SELECT distinct ?personLabel ?prop_label ?start_date (if(bound(?end_date), "yes", "no") as ?has_end_date) ?person ?s | |||
#(group_concat(?other_date_label; SEPARATOR=" | ") as ?other_dates) | |||
WHERE { | |||
?person bnwdt:P3 bnwd:Q3 . | |||
# need to find start times anywhere and get prop label so use claim. | |||
?person ?p ?s . | |||
?claim wikibase:claim ?p; | |||
rdfs:label ?prop_label. filter(lang(?prop_label)="en") . | |||
# pretty sure start time is qualifier only... | |||
# get start dates | |||
# then optional end dates | |||
# can only see end time/pit associated, and the only pit with start time is not relevant, but can't be sure that'll always be true. | |||
# optional other that excludes both start/end but lists any other date types | |||
?s bnpq:P27 ?start_date . # get start dates | |||
optional {?s bnpq:P28 ?end_date .} # check for end dates | |||
# optional { | |||
# ?s ?pq ?other_date . # could there be any other associated dates? | |||
# ?qual_prop wikibase:qualifier ?pq; | |||
# wikibase:propertyType wikibase:Time ; # nb *does not* include edtf dates but AFAICT there are none in qualifiers. | |||
# rdfs:label ?other_date_label . filter(lang(?other_date_label)="en-gb") . # what kind of date is it. | |||
# drop both start and end this time. idk if there could be a faster way to do this? | |||
# filter not exists { ?s (bnpq:P27 | bnpq:P28) ?other_date . } | |||
# } # / optional other dates | |||
# filter(!bound(?end_date)). # to filter out rows with an end date | |||
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en-gb,en". } | |||
} | |||
#group by ?personLabel ?p_label ?start_date ?end_date ?has_end_date ?person ?s # only needed for other_dates | |||
ORDER BY ?personLabel ?p_label ?start_date | |||
</sparql> | </sparql> | ||
edits