Wallace's Cave

From Underfoot

Q7962704



Error: Invalid JSON (<!DOCTYPE html> <html lang="en"> <head>

   <meta charset="UTF-8">
   <meta name="viewport" content="width=device-width, initial-scale=1.0">
   <title>Wikimedia Commons SPARQL Query Error</title>
   <script src="https://cdn.tailwindcss.com"></script>
   <link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;600&display=swap" rel="stylesheet">
   <style>
       body {
           font-family: 'Inter', sans-serif;
           background-color: #f3f4f6;
       }
       .container {
           max-width: 900px;
       }
       .error-box {
           background-color: #fee2e2;
           color: #ef4444;
           padding: 1.5rem;
           border-radius: 0.5rem;
           border: 1px solid #ef4444;
           word-wrap: break-word; /* Ensure long URLs/messages wrap */
       }
       code {
           background-color: #e2e8f0;
           padding: 0.2rem 0.4rem;
           border-radius: 0.25rem;
           font-family: monospace;
       }
   </style>

</head> <body class="p-4 flex items-center justify-center min-h-screen">

SPARQL Query Service

Operation Failed:

An error occurred during query execution: HTTP Error: 400 Response: SPARQL-QUERY: queryStr= SELECT DISTINCT ?item ?file ?date ?label ?qualityLabel ?latitude ?longitude ?type ?subtype ?source WHERE { SERVICE wikibase:label {bd:serviceParam wikibase:language 'en'} { SELECT DISTINCT ?item ?file ?date ?label ?quality ?latitude ?longitude ?type ?subtype ?source WHERE { { SELECT DISTINCT ?item ?date ?file ?type ?subtype ?source (COALESCE(?label1,?label2) AS ?label) (SAMPLE (COALESCE(?latitude1,?latitude2)) AS ?latitude) (SAMPLE (COALESCE(?longitude1,?longitude2)) AS ?longitude) (SAMPLE(?qualitylist) AS ?quality) WHERE { {?item wdt:P180 wd:Q7962704} UNION {SERVICE wikibase:mwapi{ bd:serviceParam wikibase:api 'Generator' . bd:serviceParam wikibase:endpoint 'commons.wikimedia.org' . bd:serviceParam mwapi:gcmtitle 'Category:Wallace's Cave, Midlothian' . bd:serviceParam mwapi:generator 'categorymembers' . bd:serviceParam mwapi:gcmtype 'file' . bd:serviceParam mwapi:gcmlimit 'max' . ?title wikibase:apiOutput mwapi:title . ?pageid wikibase:apiOutput '@pageid' . } BIND (URI(CONCAT('https://commons.wikimedia.org/entity/M', ?pageid)) AS ?item) } OPTIONAL {?item rdfs:label ?label1 FILTER(LANG(?label1) = 'en')} ?item schema:url ?url. BIND (CONCAT('File:',wikibase:decodeUri(substr(str(?url),52))) AS ?file) BIND(REPLACE(REPLACE(?file, '^File:', ), '.[^.]*$', ) AS ?label2) OPTIONAL {?item wdt:P571 ?date} OPTIONAL {?item wdt:P6731 ?qualitylist} OPTIONAL { ?item p:P1259 ?position1. ?position1 psv:P1259/wikibase:geoLatitude ?latitude1a. ?position1 psv:P1259/wikibase:geoLongitude ?longitude1a. BIND(STR(?latitude1a) AS ?latitude1) BIND(STR(?longitude1a) AS ?longitude1) } OPTIONAL { ?item p:P9149 ?position2. ?position2 psv:P9149/wikibase:geoLatitude ?latitude2a. ?position2 psv:P9149/wikibase:geoLongitude ?longitude2a. BIND(STR(?latitude2a) AS ?latitude2) BIND(STR(?longitude2a) AS ?longitude2) } BIND(CONCAT('commons') AS ?type) BIND(CONCAT('image') AS ?subtype) BIND(CONCAT('Commons') AS ?source) FILTER ( STRENDS(LCASE(STR(?file)), '.jpg') || STRENDS(LCASE(STR(?file)), '.jpeg') ) } GROUP BY ?item ?date ?file ?label1 ?label2 ?latitude1 ?latitude2 ?longitude1 ?longitude2 ?type ?subtype ?source } } ORDER BY DESC(?quality) ASC(?date) LIMIT 10 } } GROUP BY ?item ?file ?date ?label ?qualityLabel ?latitude ?longitude ?type ?subtype ?source ORDER BY ASC(?date) java.util.concurrent.ExecutionException: org.openrdf.query.MalformedQueryException: Lexical error at line 16, column 65. Encountered: " " (32), after : "s" at java.util.concurrent.FutureTask.report(FutureTask.java:122) at java.util.concurrent.FutureTask.get(FutureTask.java:206) at com.bigdata.rdf.sail.webapp.BigdataServlet.submitApiTask(BigdataServlet.java:292) at com.bigdata.rdf.sail.webapp.QueryServlet.doSparqlQuery(QueryServlet.java:678) at com.bigdata.rdf.sail.webapp.QueryServlet.doPost(QueryServlet.java:275) at com.bigdata.rdf.sail.webapp.RESTServlet.doPost(RESTServlet.java:269) at com.bigdata.rdf.sail.webapp.MultiTenancyServlet.doPost(MultiTenancyServlet.java:195) at javax.servlet.http.HttpServlet.service(HttpServlet.java:707) at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:865) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1655) at org.wikidata.query.rdf.blazegraph.throttling.ThrottlingFilter.doFilter(ThrottlingFilter.java:322) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642) at org.wikidata.query.rdf.blazegraph.throttling.SystemOverloadFilter.doFilter(SystemOverloadFilter.java:84) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642) at ch.qos.logback.classic.helpers.MDCInsertingServletFilter.doFilter(MDCInsertingServletFilter.java:50) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642) at org.wikidata.query.rdf.blazegraph.filters.QueryEventSenderFilter.doFilter(QueryEventSenderFilter.java:125) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642) at org.wikidata.query.rdf.blazegraph.filters.ClientIPFilter.doFilter(ClientIPFilter.java:43) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642) at org.wikidata.query.rdf.blazegraph.filters.JWTIdentityFilter.doFilter(JWTIdentityFilter.java:66) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642) at org.wikidata.query.rdf.blazegraph.filters.RealAgentFilter.doFilter(RealAgentFilter.java:33) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1642) at org.wikidata.query.rdf.blazegraph.filters.RequestConcurrencyFilter.doFilter(RequestConcurrencyFilter.java:50) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1634) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:533) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:146) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:548) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:257) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1595) at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:255) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1340) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:203) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:473) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1564) at org.eclipse.jetty.server.handler.ScopedHandler.nextScope(ScopedHandler.java:201) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1242) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:144) at org.eclipse.jetty.server.handler.ContextHandlerCollection.handle(ContextHandlerCollection.java:220) at org.eclipse.jetty.server.handler.HandlerCollection.handle(HandlerCollection.java:126) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:132) at org.eclipse.jetty.server.Server.handle(Server.java:503) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:364) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:260) at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:305) at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:103) at org.eclipse.jetty.io.ChannelEndPoint$2.run(ChannelEndPoint.java:118) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:333) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:310) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:168) at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:126) at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:366) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:765) at org.eclipse.jetty.util.thread.QueuedThreadPool$2.run(QueuedThreadPool.java:683) at java.lang.Thread.run(Thread.java:750) Caused by: org.openrdf.query.MalformedQueryException: Lexical error at line 16, column 65. Encountered: " " (32), after : "s" at com.bigdata.rdf.sail.sparql.Bigdata2ASTSPARQLParser.parseQuery2(Bigdata2ASTSPARQLParser.java:404) at com.bigdata.rdf.sail.webapp.QueryServlet$SparqlQueryTask.call(QueryServlet.java:741) at com.bigdata.rdf.sail.webapp.QueryServlet$SparqlQueryTask.call(QueryServlet.java:695) at com.bigdata.rdf.task.ApiTaskForIndexManager.call(ApiTaskForIndexManager.java:68) at java.util.concurrent.FutureTask.run(FutureTask.java:266) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) ... 1 more Caused by: com.bigdata.rdf.sail.sparql.ast.TokenMgrError: Lexical error at line 16, column 65. Encountered: " " (32), after : "s" at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilderTokenManager.getNextToken(SyntaxTreeBuilderTokenManager.java:3994) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.jj_ntk(SyntaxTreeBuilder.java:9637) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.RDFLiteral(SyntaxTreeBuilder.java:7189) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.GraphTerm(SyntaxTreeBuilder.java:3893) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.VarOrTermOrTRefP(SyntaxTreeBuilder.java:8714) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.GraphNodePath(SyntaxTreeBuilder.java:3786) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.ObjectPath(SyntaxTreeBuilder.java:3467) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.ObjectListPath(SyntaxTreeBuilder.java:3044) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.PropertyListPath(SyntaxTreeBuilder.java:2992) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.TriplesSameSubjectPath(SyntaxTreeBuilder.java:2919) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.TriplesBlock(SyntaxTreeBuilder.java:2321) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.BasicGraphPattern(SyntaxTreeBuilder.java:2097) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.GraphPattern(SyntaxTreeBuilder.java:2034) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.GroupGraphPattern(SyntaxTreeBuilder.java:1969) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.ServiceGraphPattern(SyntaxTreeBuilder.java:2534) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.GraphPatternNotTriples(SyntaxTreeBuilder.java:2370) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.GraphPattern(SyntaxTreeBuilder.java:2047) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.GroupGraphPattern(SyntaxTreeBuilder.java:1969) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.GroupOrUnionGraphPattern(SyntaxTreeBuilder.java:2451) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.GroupOrUnionGraphPattern(SyntaxTreeBuilder.java:2459) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.GraphPatternNotTriples(SyntaxTreeBuilder.java:2361) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.GraphPattern(SyntaxTreeBuilder.java:2047) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.GroupGraphPattern(SyntaxTreeBuilder.java:1969) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.WhereClause(SyntaxTreeBuilder.java:1013) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.SubSelect(SyntaxTreeBuilder.java:416) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.GroupGraphPattern(SyntaxTreeBuilder.java:1965) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.GroupOrUnionGraphPattern(SyntaxTreeBuilder.java:2451) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.GraphPatternNotTriples(SyntaxTreeBuilder.java:2361) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.GraphPattern(SyntaxTreeBuilder.java:2047) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.GroupGraphPattern(SyntaxTreeBuilder.java:1969) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.WhereClause(SyntaxTreeBuilder.java:1013) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.SubSelect(SyntaxTreeBuilder.java:416) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.GroupGraphPattern(SyntaxTreeBuilder.java:1965) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.GroupOrUnionGraphPattern(SyntaxTreeBuilder.java:2451) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.GraphPatternNotTriples(SyntaxTreeBuilder.java:2361) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.GraphPattern(SyntaxTreeBuilder.java:2047) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.GraphPattern(SyntaxTreeBuilder.java:2056) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.GroupGraphPattern(SyntaxTreeBuilder.java:1969) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.WhereClause(SyntaxTreeBuilder.java:1013) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.SelectQuery(SyntaxTreeBuilder.java:377) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.Query(SyntaxTreeBuilder.java:328) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.QueryContainer(SyntaxTreeBuilder.java:216) at com.bigdata.rdf.sail.sparql.ast.SyntaxTreeBuilder.parseQuery(SyntaxTreeBuilder.java:32) at com.bigdata.rdf.sail.sparql.Bigdata2ASTSPARQLParser.parseQuery2(Bigdata2ASTSPARQLParser.java:336) ... 7 more

</body> </html>).


Wallace's Cave is situated in Roslin Glen, in Midlothian, Scotland beside the River North Esk. It is also known as Hawthornden Castle Cave, after the nearby castle. It takes its name from William Wallace who participated in the Battle of Roslin, which took place nearby on 24 February 1303. The cave was formed under water from limestone between 363 and 325 million years ago.

WikimediaWikidata
caveUnited Kingdom

    ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​ ​


Location: 55.8566, -3.1508, KML, Cluster Map, Maps,
44 places

Loading map...
  • 16, 17, 18 West Preston Street, Edinburgh
    air-raid shelter in Edinburgh, Scotland, UK
  • 79, 81, 83, 85, 87 St Stephen Street, Edinburgh
    air-raid shelter in Edinburgh, Scotland, UK
  • Alderston House - Lothian Region, Alternative Standby Headquarters
    civil defence centre in Lothian, Scotland
  • Barnton Quarry
    disused stone quarry in Scotland, formerly containing a Regional Seat of Government nuclear bunker
  • Craigiehall Anti-Aircraft Operations Room
    building in City of Edinburgh, Scotland, UK
  • Edinburgh City Control
    civil defence centre in Edinburgh, UK
  • Edinburgh R4 ROTOR Sector Operations Command headquarters
    architectural structure in City of Edinburgh, Scotland, UK
  • Edinburgh Royal Observer Corps Group Headquarters
    British Cold War command centre in Edinburgh
  • Kirknewton Regional War Room
    Cold war control bunker in Kirknewton, Edinburgh, UK
  • Pollock Institute of Physical Education Psychology, Pleasance, Edinburgh
    air-raid shelter in Edinburgh, Scotland, UK
  • Shrubhill Tramway Workshops and Power Station, Shrub Place Lane, Leith Walk, Edinburgh
    air-raid shelter in Edinburgh, Scotland, UK
  • South Queensferry Air Raid Shelter
    WWII air raid shelter in Scotland
  • Vogrie House - Midlothian Alternative Standby Headquarters
    civil defence centre in Midlothian, Scotland
  • Arniston House Grotto
    grotto structure in Midlothian, Scotland, UK
  • Craiglockhart Dell West Grotto, Edinburgh
    grotto in Edinburgh, Scotland, UK
  • Grotto, Cockenzie House
    architectural structure in East Lothian, Scotland, UK
  • Grotto, Newhailes, Musselburgh
    grotto in Musselburgh, East Lothian, Scotland, UK
  • Wallace's Cave
    cave in Midlothian, Scotland, UK
  • East Kirkton Quarry
    quarry in West Lothian, Scotland, UK
  • Emily Pit, Arniston Colliery
    memorial in Gorebridge, Scotland, United Kingdom
  • Landridge Limekilns, Wheatrig
    architectural structure in East Lothian, Scotland, UK
  • Lead Law mines
  • Limekilns, Middlemains
    architectural structure in East Lothian, Scotland, UK
  • Limekilns, Raw Holdings
    architectural structure in West Lothian, Scotland, UK
  • Prestongrange Colliery
    architectural structure in East Lothian, Scotland, UK
  • Seafield Colliery
    coal mine in Fife, Scotland, UK
  • South, Upperside Limekiln
    architectural structure in Midlothian, Scotland, UK
  • National Mining Museum Scotland
    mining museum in Midlothian, Scotland
  • Prestongrange Industrial Heritage Museum
    industry museum in Prestongrange, Scotland, United Kingdom
  • Museum of the Scottish Shale Oil Industry
    museum in West Lothian, Scotland, UK
  • Bowshank Tunnel
    railway tunnel on the Waverley Route, UK
  • Colinton Tunnel
    railway tunnel in the UK
  • Gorebridge, Robertson's Bank, Railway Tunnel
    railway tunnel in Midlothian, Scotland, UK
  • Neidpath Tunnel
    disused railway tunnel (now footpath) in the Scottish Borders, Scotland, UK
  • North Queensferry, Ferryhills Tunnel
    railway tunnel in Fife, Scotland, UK
  • Potterow Port
    underpass in Edinburgh, Scotland, UK
  • Railway Tunnel Number 71A, Inch View
    railway tunnel in Fife, Scotland, UK
  • Railway Tunnel, East Trinity Road, Edinburgh
    railway tunnel in Edinburgh, Scotland, UK
  • Railway Tunnel, Old Woodhouselee
    railway tunnel in Midlothian, Scotland, UK
  • Scotland Street Tunnel
    railway tunnel in Edinburgh, Scotland, UK
  • Telfer Subway
    pedestrian tunnel in Edinburgh, Scotland
  • Tunnel, Rodney Street, Edinburgh
    railway tunnel in Edinburgh, Scotland, UK
  • Winchburgh Tunnel
    railway tunnel in West Lothian, Scotland, UK
  • Innocent Railway Tunnel
    disused railway tunnel in Edinburgh, Scotland, UK
1984-01-01T00:00:00Z
1984-01-01T00:00:00Z
1984-09-28T00:00:00Z
1984-09-28T00:00:00Z
1991-01-01T00:00:00Z
1991-01-01T00:00:00Z
1830-01-01T00:00:00Z
1830-01-01T00:00:00Z
{"selectable":false,"showCurrentTime":false,"width":"100%","zoomMin":100000000000}
    TypeSubtypeDateDescriptionNotesSource
    organisationorganisation2015Historic Environment Scotlandrestoration, cultural heritage, non-departmental public bodyWikidata
    sitebunker16, 17, 18 West Preston Street, Edinburghair-raid shelterWikidata
    sitebunker79, 81, 83, 85, 87 St Stephen Street, Edinburghair-raid shelterWikidata
    sitebunkerAlderston House - Lothian Region, Alternative Standby HeadquartersLothian Regional Council, civil defense centerWikidata
    sitebunkerBarnton QuarryRoyal Air Force station, quarry, bunkerWikidata
    sitebunkerCraigiehall Anti-Aircraft Operations Roombunker, blockhouse, command centerWikidata
    sitebunkerEdinburgh City ControlCity of Edinburgh Council, civil defense centerWikidata
    sitebunkerEdinburgh R4 ROTOR Sector Operations Command headquartersROTOR R4 bunkerWikidata
    sitebunkerEdinburgh Royal Observer Corps Group Headquartersbunker, Royal Observer CorpsWikidata
    sitebunkerKirknewton Regional War RoombunkerWikidata
    sitebunkerPollock Institute of Physical Education Psychology, Pleasance, Edinburghsports institute, air-raid shelterWikidata
    sitebunkerShrubhill Tramway Workshops and Power Station, Shrub Place Lane, Leith Walk, Edinburghair-raid shelterWikidata
    sitebunkerSouth Queensferry Air Raid Shelterair-raid shelterWikidata
    sitebunkerVogrie House - Midlothian Alternative Standby Headquarterscivil defense center, Midlothian CouncilWikidata
    sitecaveArniston House GrottogrottoWikidata
    sitecaveCraiglockhart Dell West Grotto, EdinburghgrottoWikidata
    sitecaveGrotto, Cockenzie HousegrottoWikidata
    sitecaveGrotto, Newhailes, MusselburghgrottoWikidata
    sitecaveWallace's CavecaveWikidata
    sitemineEast Kirkton QuarryquarryWikidata
    sitemineEmily Pit, Arniston Collierycoal mineWikidata
    sitemineLandridge Limekilns, Wheatrigquarry, lime kilnWikidata
    sitemineLead Law mineslead mine, silver mineWikidata
    sitemineLimekilns, Middlemainsquarry, lime kilnWikidata
    sitemineLimekilns, Raw Holdingsquarry, lime kilnWikidata
    siteminePrestongrange Collierycoal mineWikidata
    sitemineSeafield Collierycoal mineWikidata
    sitemineSouth, Upperside Limekilnquarry, lime kilnWikidata
    sitemuseum1984National Mining Museum Scotlandindependent museum, national museum, mining museumWikidata
    sitemuseum1984Prestongrange Industrial Heritage Museumindustry museum, local authority museum, mining museumWikidata
    sitemuseum1991Museum of the Scottish Shale Oil Industrymining museum, specialized archiveWikidata
    sitetunnelBowshank Tunnelrailway tunnelWikidata
    sitetunnelColinton Tunnelrailway tunnelWikidata
    sitetunnelGorebridge, Robertson's Bank, Railway Tunnelrailway tunnelWikidata
    sitetunnelNeidpath Tunnelrailway tunnelWikidata
    sitetunnelNorth Queensferry, Ferryhills Tunnelrailway tunnelWikidata
    sitetunnelPotterow PortsubwayWikidata
    sitetunnelRailway Tunnel Number 71A, Inch Viewrailway tunnelWikidata
    sitetunnelRailway Tunnel, East Trinity Road, Edinburghrailway tunnelWikidata
    sitetunnelRailway Tunnel, Old Woodhouseleerailway tunnelWikidata
    sitetunnelScotland Street Tunnelrailway tunnelWikidata
    sitetunnelTelfer SubwaysubwayWikidata
    sitetunnelTunnel, Rodney Street, Edinburghrailway tunnelWikidata
    sitetunnelWinchburgh Tunnelrailway tunnelWikidata
    sitetunnel1830Innocent Railway Tunnelcycling tunnel, railway tunnelWikidata