586
edits
Line 2,848: | Line 2,848: | ||
} | } | ||
ORDER BY ?personLabel ?prop_label ?start_date | |||
</sparql> | |||
ORDER BY ?personLabel ? | |||
=== End dates that might not accompanying start dates === | |||
<sparql tryit="1"> | |||
#title:Women with end dates that might not have accompanying start 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 ?end_date | |||
(if(bound(?start_date), "yes", "no") as ?has_start_date) | |||
(group_concat(?other_date_label; SEPARATOR=" | ") as ?other_dates) | |||
?person ?s | |||
WHERE { | |||
?person bnwdt:P3 bnwd:Q3 . | |||
?person ?p ?s . | |||
?claim wikibase:claim ?p; | |||
rdfs:label ?prop_label. filter(lang(?prop_label)="en") . | |||
# get end dates | |||
# then optional start dates | |||
# can only see start time/pit associated, and in fact the only pit with start time is not relevant, but can't be sure that'll always be true. | |||
# so an optional other that excludes both start/end but lists any other date types with group_concat | |||
?s bnpq:P28 ?end_date . # get end dates | |||
optional {?s bnpq:P27 ?start_date .} # check for start 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 | |||
# drop both start and end. 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(?start_date)). # to filter out rows with a start date (77 atm) | |||
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en-gb,en". } | |||
} | |||
group by ?personLabel ?prop_label ?end_date ?start_date ?has_start_date ?person ?s | |||
ORDER BY ?personLabel ?prop_label ?end_date | |||
</sparql> | </sparql> | ||
edits