Mallet's Mortar

From Warlike



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:Q1985404} UNION {SERVICE wikibase:mwapi{ bd:serviceParam wikibase:api 'Generator' . bd:serviceParam wikibase:endpoint 'commons.wikimedia.org' . bd:serviceParam mwapi:gcmtitle 'Category:Mallet's Mortar' . 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 64. 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 64. 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 64. 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>).


Mallet's Mortar was a 19th-century British shell-firing mortar built for the Crimean War, but never used in combat. The mortar was designed by Robert Mallet and was constructed in sections so that it could be more easily transported. Mallet made his design public in 1854. There was little response from the government until Mallet wrote to the Prime Minister Lord Palmerston in March 1855. Palmerston was taken with the idea and instructed the Board of Ordnance to arrange for the construction of two mortars of Mallet's design.