Skip to content

Instantly share code, notes, and snippets.

@ostephens
Last active December 10, 2015 18:28
Show Gist options
  • Save ostephens/43e7d7a967a147ed4e8f to your computer and use it in GitHub Desktop.
Save ostephens/43e7d7a967a147ed4e8f to your computer and use it in GitHub Desktop.
SPARQL for British Museum Satires with titles and dates
PREFIX crm: <http://erlangen-crm.org/current/>
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX thes: <http://collection.britishmuseum.org/id/thesauri/>
PREFIX rdfs: <http://www.w3.org/2000/01/rdf-schema#>
PREFIX bmo: <http://collection.britishmuseum.org/id/ontology/>
PREFIX thesIdentifier: <http://collection.britishmuseum.org/id/>
SELECT DISTINCT ?id ?title ?name ?desc ?date
{
?object crm:P70i_is_documented_in <http://collection.britishmuseum.org/id/bibliography/294> .
OPTIONAL {
?object crm:P48_has_preferred_identifier ?id }.
OPTIONAL {
?object bmo:PX_physical_description ?desc } .
OPTIONAL {
?object crm:P108i_was_produced_by ?prodevent.
?prodevent crm:P9_consists_of ?prodpart .
?prodpart crm:P4_has_time-span ?timespan.
?timespan rdfs:label ?date} .
OPTIONAL {
?object crm:P108i_was_produced_by ?prodevent2.
?prodevent2 crm:P9_consists_of ?prodpart2 .
?prodpart2 crm:P14_carried_out_by ?creator.
?creator skos:prefLabel ?name .
?creator skos:inScheme thesIdentifier:person-institution}
OPTIONAL {
?object rdfs:label ?title }
}
@ostephens
Copy link
Author

Multiple descriptions can also be present - once again resulting in duplication. Must be a better way of dealing with this?

@ostephens
Copy link
Author

Using the rdfs:label from the timespan results in a simple 'date' statement which can contain a single year, a year range, or a more general statement like "18thC(mid)". You could query for specific fields from the timespan to get more detailed date information

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment