Created in October-December 2022 for the National Library of Scotland's Data Foundry by Gustavo Candela, National Librarian’s Research Fellowship in Digital Scholarship 2022-23
This dataset represents the descriptive metadata from the Moving Image Archive catalogue, which is Scotland’s national collection of moving images.
Import the libraries required to create a map based on the geographic locations provided by the dataset.
import folium
from rdflib import Graph
import logging
logger = logging.getLogger()
logger.setLevel(logging.CRITICAL)
# Create a Graph
g = Graph().parse("../rdf/datasetEnriched.ttl")
The following SPARQL query retrieves the geographic locations provided by the RDF dataset.
print('##### edm:Place resources')
# Query the data in g using SPARQL
# This query returns the 'name' of all ``edm:Place`` instances
q = """
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX schema: <http://schema.org/>
PREFIX wgs: <http://www.w3.org/2003/01/geo/wgs84_pos#>
SELECT distinct ?p ?lat ?long ?lbl ?wikidata ?geonames
WHERE {
?p rdf:type edm:Place .
?p skos:prefLabel ?lbl .
?p wgs:long ?long .
?p wgs:lat ?lat .
?p owl:sameAs ?wikidata . FILTER ( strstarts(str(?wikidata), "https://www.wikidata.org/wiki/") ).
?p owl:sameAs ?geonames . FILTER ( strstarts(str(?geonames), "https://www.geonames.org/") )
}
"""
##### edm:Place resources
# Apply the query to the graph and iterate through results
map_circles = folium.Map(location=[55.86,-4.25], tiles="OpenStreetMap", zoom_start=5)
for r in g.query(q):
idwikidata = r['wikidata']
lat = r['lat']
lon = r['long']
idgeonames = r['geonames']
label = r['lbl']
text_popup = "Records in <a href='" + idwikidata + "'>" + label + "</a>"
folium.Circle(
location=[lat, lon],
popup=text_popup,
#radius=float(total)/10,
color='crimson',
fill=True,
fill_color='crimson'
).add_to(map_circles)
map_circles
print('##### edm:Place resources linked to Wikidata')
# Query the data in g using SPARQL
# This query returns the 'name' of all ``schema:Place`` instances
q = """
PREFIX skos: <http://www.w3.org/2004/02/skos/core#>
PREFIX schema: <http://schema.org/>
PREFIX wgs: <http://www.w3.org/2003/01/geo/wgs84_pos#>
SELECT distinct ?wikidata
WHERE {
?p rdf:type edm:Place .
?p owl:sameAs ?wikidata . FILTER ( strstarts(str(?wikidata), "https://www.wikidata.org/wiki/") ).
}
"""
##### edm:Place resources linked to Wikidata
for r in g.query(q):
idwikidata = r['wikidata']
print(idwikidata)
https://www.wikidata.org/wiki/Q980084 https://www.wikidata.org/wiki/Q207268 https://www.wikidata.org/wiki/Q376914 https://www.wikidata.org/wiki/Q550606 https://www.wikidata.org/wiki/Q1061313 https://www.wikidata.org/wiki/Q1247396 https://www.wikidata.org/wiki/Q786649 https://www.wikidata.org/wiki/Q202177 https://www.wikidata.org/wiki/Q54809 https://www.wikidata.org/wiki/Q864668 https://www.wikidata.org/wiki/Q664892 https://www.wikidata.org/wiki/Q206934 https://www.wikidata.org/wiki/Q182923 https://www.wikidata.org/wiki/Q978599 https://www.wikidata.org/wiki/Q1247435 https://www.wikidata.org/wiki/Q207257 https://www.wikidata.org/wiki/Q1147435 https://www.wikidata.org/wiki/Q2421 https://www.wikidata.org/wiki/Q47134 https://www.wikidata.org/wiki/Q1229763 https://www.wikidata.org/wiki/Q9177476 https://www.wikidata.org/wiki/Q100166 https://www.wikidata.org/wiki/Q1247384 https://www.wikidata.org/wiki/Q80967 https://www.wikidata.org/wiki/Q81052 https://www.wikidata.org/wiki/Q204940 https://www.wikidata.org/wiki/Q123709 https://www.wikidata.org/wiki/Q17582129 https://www.wikidata.org/wiki/Q203000 https://www.wikidata.org/wiki/Q189912 https://www.wikidata.org/wiki/Q652539 https://www.wikidata.org/wiki/Q36405 https://www.wikidata.org/wiki/Q201149 https://www.wikidata.org/wiki/Q530296 https://www.wikidata.org/wiki/Q793283 https://www.wikidata.org/wiki/Q211091 https://www.wikidata.org/wiki/Q23436 https://www.wikidata.org/wiki/Q4093
The following link presents a map as a result of a SPARL query that retrieves all the geographic locations provided by the dataset and linked to Wikidata.
from IPython.display import IFrame
IFrame(src='https://w.wiki/5qa4', width=900, height=700)