579
edits
No edit summary |
(→Dates) |
||
Line 1,234: | Line 1,234: | ||
==Dates== | ==Dates== | ||
===All the Dates for Women FSAs=== | |||
<sparql tryit="1"> | |||
# union query to get [hopefully] every date associated with women FSAs including main dates and qualifier dates and date precision | |||
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 ?date_prop_label ?date_value ?date_precision ?qual ?qualLabel ?date_prop_type | |||
#?s #statement url [for grouping] | |||
#?date_prop #property url/id | |||
WHERE { | |||
{ # main dates | |||
?person bnwdt:P3 bnwd:Q3 . #select women | |||
?person bnwdt:P75 bnwd:Q8. # find only BN subjects having a FSA | |||
# get stuff about ?person | |||
?person ?p ?s . | |||
# get stuff about ?p . | |||
?date_prop wikibase:claim ?p; | |||
wikibase:statementProperty ?ps ; | |||
wikibase:statementValue ?psv . | |||
?date_prop wikibase:propertyType ?date_prop_type . | |||
?date_prop rdfs:label ?date_prop_label. filter(lang(?date_prop_label)="en-gb") . | |||
# get dates detail via ?s and psv | |||
# TODO: I think this gets edtf dates in simplified std wiki date format. could handle them separately to keep the extra info. | |||
# https://github.com/ProfessionalWiki/WikibaseEdtf | |||
?s ?psv ?wdv . | |||
?wdv wikibase:timeValue ?date_value ; | |||
wikibase:timePrecision ?date_precision . | |||
} # /main dates | |||
UNION | |||
{ # qualifier dates | |||
?person bnwdt:P3 bnwd:Q3 . # women | |||
?person bnwdt:P75 bnwd:Q8. # only BN subjects having a FSA | |||
# get stuff about ?person | |||
?person ?p ?s . | |||
# get stuff about ?p . | |||
?prop wikibase:claim ?p; | |||
#wikibase:propertyType ?prop_type ; | |||
wikibase:statementProperty ?ps. | |||
?prop rdfs:label ?prop_label. filter(lang(?prop_label)="en-gb") . | |||
# get stuff about ?s. | |||
?s ?ps ?qual. | |||
# get stuff about qual if you want | |||
# optional { | |||
# what sort of thing is qual | |||
# ?qual bnwdt:P12 ?inst . # instance of can be multiple so could get some dups | |||
#} # /qual optional | |||
# get qualifier dates [are there any Edtf in qualifier dates?] | |||
?s ?pq ?pqs . | |||
# this needs to be limited to dates... I think | |||
FILTER(DATATYPE(?pqs) = xsd:dateTime). | |||
# get stuff about pq | |||
?qual_prop wikibase:qualifier ?pq; | |||
wikibase:propertyType ?date_prop_type. | |||
?qual_prop rdfs:label ?date_prop_label . filter(lang(?date_prop_label)="en-gb") . # what sort of date is it. | |||
# get dates detail. TODO: how to get the /entity/ url for date_prop? | |||
?s ?date_prop ?pqv . | |||
?pqv wikibase:timeValue ?date_value. | |||
?pqv wikibase:timePrecision ?date_precision. | |||
} # /qual dates | |||
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE],en-gb". } | |||
} # /where | |||
ORDER BY ?person ?date_value | |||
</sparql> | |||
===Fetch any of multiple kinds of EDTF date for a woman=== | ===Fetch any of multiple kinds of EDTF date for a woman=== | ||
Line 1,308: | Line 1,405: | ||
</sparql> | </sparql> | ||
==Admin== | ==Admin== |
edits