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.
Wikimedia, Wikidata
United Kingdom,
-
Location: 55.8566, -3.1508, KML, Cluster Map, Maps,
44 places
-

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
| Type | Subtype | Date | Description | Notes | Source |
|---|---|---|---|---|---|
| organisation | organisation | 2015 | Historic Environment Scotland | restoration, cultural heritage, non-departmental public body | Wikidata |
| site | bunker | 16, 17, 18 West Preston Street, Edinburgh | air-raid shelter | Wikidata | |
| site | bunker | 79, 81, 83, 85, 87 St Stephen Street, Edinburgh | air-raid shelter | Wikidata | |
| site | bunker | Alderston House - Lothian Region, Alternative Standby Headquarters | Lothian Regional Council, civil defense center | Wikidata | |
| site | bunker | Barnton Quarry | Royal Air Force station, quarry, bunker | Wikidata | |
| site | bunker | Craigiehall Anti-Aircraft Operations Room | bunker, blockhouse, command center | Wikidata | |
| site | bunker | Edinburgh City Control | City of Edinburgh Council, civil defense center | Wikidata | |
| site | bunker | Edinburgh R4 ROTOR Sector Operations Command headquarters | ROTOR R4 bunker | Wikidata | |
| site | bunker | Edinburgh Royal Observer Corps Group Headquarters | bunker, Royal Observer Corps | Wikidata | |
| site | bunker | Kirknewton Regional War Room | bunker | Wikidata | |
| site | bunker | Pollock Institute of Physical Education Psychology, Pleasance, Edinburgh | sports institute, air-raid shelter | Wikidata | |
| site | bunker | Shrubhill Tramway Workshops and Power Station, Shrub Place Lane, Leith Walk, Edinburgh | air-raid shelter | Wikidata | |
| site | bunker | South Queensferry Air Raid Shelter | air-raid shelter | Wikidata | |
| site | bunker | Vogrie House - Midlothian Alternative Standby Headquarters | civil defense center, Midlothian Council | Wikidata | |
| site | cave | Arniston House Grotto | grotto | Wikidata | |
| site | cave | Craiglockhart Dell West Grotto, Edinburgh | grotto | Wikidata | |
| site | cave | Grotto, Cockenzie House | grotto | Wikidata | |
| site | cave | Grotto, Newhailes, Musselburgh | grotto | Wikidata | |
| site | cave | Wallace's Cave | cave | Wikidata | |
| site | mine | East Kirkton Quarry | quarry | Wikidata | |
| site | mine | Emily Pit, Arniston Colliery | coal mine | Wikidata | |
| site | mine | Landridge Limekilns, Wheatrig | quarry, lime kiln | Wikidata | |
| site | mine | Lead Law mines | lead mine, silver mine | Wikidata | |
| site | mine | Limekilns, Middlemains | quarry, lime kiln | Wikidata | |
| site | mine | Limekilns, Raw Holdings | quarry, lime kiln | Wikidata | |
| site | mine | Prestongrange Colliery | coal mine | Wikidata | |
| site | mine | Seafield Colliery | coal mine | Wikidata | |
| site | mine | South, Upperside Limekiln | quarry, lime kiln | Wikidata | |
| site | museum | 1984 | National Mining Museum Scotland | independent museum, national museum, mining museum | Wikidata |
| site | museum | 1984 | Prestongrange Industrial Heritage Museum | industry museum, local authority museum, mining museum | Wikidata |
| site | museum | 1991 | Museum of the Scottish Shale Oil Industry | mining museum, specialized archive | Wikidata |
| site | tunnel | Bowshank Tunnel | railway tunnel | Wikidata | |
| site | tunnel | Colinton Tunnel | railway tunnel | Wikidata | |
| site | tunnel | Gorebridge, Robertson's Bank, Railway Tunnel | railway tunnel | Wikidata | |
| site | tunnel | Neidpath Tunnel | railway tunnel | Wikidata | |
| site | tunnel | North Queensferry, Ferryhills Tunnel | railway tunnel | Wikidata | |
| site | tunnel | Potterow Port | subway | Wikidata | |
| site | tunnel | Railway Tunnel Number 71A, Inch View | railway tunnel | Wikidata | |
| site | tunnel | Railway Tunnel, East Trinity Road, Edinburgh | railway tunnel | Wikidata | |
| site | tunnel | Railway Tunnel, Old Woodhouselee | railway tunnel | Wikidata | |
| site | tunnel | Scotland Street Tunnel | railway tunnel | Wikidata | |
| site | tunnel | Telfer Subway | subway | Wikidata | |
| site | tunnel | Tunnel, Rodney Street, Edinburgh | railway tunnel | Wikidata | |
| site | tunnel | Winchburgh Tunnel | railway tunnel | Wikidata | |
| site | tunnel | 1830 | Innocent Railway Tunnel | cycling tunnel, railway tunnel | Wikidata |