30,536
edits
Line 1,068: | Line 1,068: | ||
=====Date range===== | =====Date range===== | ||
''Inside date range'' | ''Inside date range''<br> | ||
This example identifies records for manuscripts produced between 1377 and 1677. | |||
<syntaxhighlight lang="SPARQL"> | |||
# prefixes | |||
PREFIX wd: <https://catalog.digital-scriptorium.org/entity/> | |||
PREFIX wds: <https://catalog.digital-scriptorium.org/entity/statement/> | |||
PREFIX wdv: <https://catalog.digital-scriptorium.org/value/> | |||
PREFIX wdt: <https://catalog.digital-scriptorium.org/prop/direct/> | |||
PREFIX p: <https://catalog.digital-scriptorium.org/prop/> | |||
PREFIX ps: <https://catalog.digital-scriptorium.org/prop/statement/> | |||
PREFIX pq: <https://catalog.digital-scriptorium.org/prop/qualifier/> | |||
PREFIX wikibase: <http://wikiba.se/ontology#> | |||
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#> | |||
# find manuscript records by earliest and latest dates | |||
SELECT ?record ?recordLabel ?dateString ?earliestDate ?latestDate | |||
WHERE { | |||
# bind query variables | |||
BIND(p:P23 AS ?dateAsRecordedStatement). | |||
BIND(ps:P23 AS ?dateAsRecorded). | |||
BIND(pq:P37 AS ?hasEarliestDate). | |||
BIND(pq:P36 AS ?hasLatestDate). | |||
# render datetime values as years | |||
BIND(year(?earlyDate) AS ?earliestDate). | |||
BIND(year(?lateDate) AS ?latestDate). | |||
# statement: manuscript record has statement for date of production | |||
?record ?dateAsRecordedStatement ?dateStatement . | |||
# statement: manuscript record has statement for date of production | |||
?dateStatement ?dateAsRecorded ?dateString . | |||
# statement: date statement has qualifier values for earliest and latest dates (datetime values) | |||
?dateStatement ?hasEarliestDate ?earlyDate . | |||
?dateStatement ?hasLatestDate ?lateDate . | |||
# filter datetime values by year greater than 1377 and less than 1677 | |||
FILTER (YEAR(?earlyDate) > 1377 && YEAR(?lateDate) < 1677 ) . | |||
# return English language labels | |||
SERVICE wikibase:label { bd:serviceParam wikibase:language "[AUTO_LANGUAGE]". | |||
} | |||
} | |||
ORDER BY ?earliestDate ?latestDate ?recordLabel | |||
</syntaxhighlight> | |||
Try it [https://catalog.digital-scriptorium.org/query/#%23%20prefixes%0APREFIX%20wd%3A%20%3Chttps%3A%2F%2Fcatalog.digital-scriptorium.org%2Fentity%2F%3E%0APREFIX%20wds%3A%20%3Chttps%3A%2F%2Fcatalog.digital-scriptorium.org%2Fentity%2Fstatement%2F%3E%0APREFIX%20wdv%3A%20%3Chttps%3A%2F%2Fcatalog.digital-scriptorium.org%2Fvalue%2F%3E%0APREFIX%20wdt%3A%20%3Chttps%3A%2F%2Fcatalog.digital-scriptorium.org%2Fprop%2Fdirect%2F%3E%0APREFIX%20p%3A%20%3Chttps%3A%2F%2Fcatalog.digital-scriptorium.org%2Fprop%2F%3E%0APREFIX%20ps%3A%20%3Chttps%3A%2F%2Fcatalog.digital-scriptorium.org%2Fprop%2Fstatement%2F%3E%0APREFIX%20pq%3A%20%3Chttps%3A%2F%2Fcatalog.digital-scriptorium.org%2Fprop%2Fqualifier%2F%3E%0APREFIX%20wikibase%3A%20%3Chttp%3A%2F%2Fwikiba.se%2Fontology%23%3E%0APREFIX%20rdfs%3A%20%3Chttp%3A%2F%2Fwww.w3.org%2F2000%2F01%2Frdf-schema%23%3E%0A%0A%23%20find%20manuscript%20records%20by%20earliest%20and%20latest%20dates%0ASELECT%20%3Frecord%20%3FrecordLabel%20%3FdateString%20%3FearliestDate%20%3FlatestDate%0AWHERE%20%7B%0A%23%20bind%20query%20variables%0A%20%20BIND%28p%3AP23%20AS%20%3FdateAsRecordedStatement%29.%0A%20%20BIND%28ps%3AP23%20AS%20%3FdateAsRecorded%29.%0A%20%20BIND%28pq%3AP37%20AS%20%3FhasEarliestDate%29.%0A%20%20BIND%28pq%3AP36%20AS%20%3FhasLatestDate%29.%0A%23%20render%20datetime%20values%20as%20years%0A%20%20BIND%28year%28%3FearlyDate%29%20AS%20%3FearliestDate%29.%0A%20%20BIND%28year%28%3FlateDate%29%20AS%20%3FlatestDate%29.%0A%0A%23%20statement%3A%20manuscript%20record%20has%20statement%20for%20date%20of%20production%0A%20%20%3Frecord%20%3FdateAsRecordedStatement%20%3FdateStatement%20.%0A%23%20statement%3A%20manuscript%20record%20has%20statement%20for%20date%20of%20production%0A%20%20%3FdateStatement%20%3FdateAsRecorded%20%3FdateString%20.%0A%23%20statement%3A%20date%20statement%20has%20qualifier%20values%20for%20earliest%20and%20latest%20dates%20%28datetime%20values%29%0A%20%20%3FdateStatement%20%3FhasEarliestDate%20%3FearlyDate%20.%0A%20%20%3FdateStatement%20%3FhasLatestDate%20%3FlateDate%20.%0A%23%20filter%20datetime%20values%20by%20year%20greater%20than%201377%20and%20less%20than%201677%0A%20%20FILTER%20%28YEAR%28%3FearlyDate%29%20%3E%201377%20%26%26%20YEAR%28%3FlateDate%29%20%3C%201677%20%29%20.%0A%0A%23%20return%20English%20language%20labels%0A%20%20SERVICE%20wikibase%3Alabel%20%7B%20bd%3AserviceParam%20wikibase%3Alanguage%20%22%5BAUTO_LANGUAGE%5D%22.%0A%20%20%7D%0A%20%20%7D%0AORDER%20BY%20%3FearliestDate%20%3FlatestDate%20%3FrecordLabel here]. | |||
''Outside date range'' | ''Outside date range'' | ||
This example identifies records for manuscripts produced before 1377 and after 1677. | |||
====Dated status==== | ====Dated status==== |