Michael

Was about to say roughly the same as Andy, btw an incomplete fragment is
hard to say much about.

Are the sub-queries literally just joined together I.e. no UNION in which
cases Andy's comment are accurate

If so then you are calculating a cross product of all your counts so with
1200 sub-queries you are going to get 1200! which is a number so big it
overflows the OS X calculator and the Google calculator reports infinity

Either do separate queries or use UNION to combine the sub-queries which
will yield you one row with 1200 columns

Rob



On 16/02/2015 12:11, "Andy Seaborne" <[email protected]> wrote:

>On 16/02/15 12:00, Michael Brunnbauer wrote:
>>
>> re
>>
>> thanks Rob and Andy - that makes sense!
>>
>> What is a bit strange is that the query takes so long. It consists of
>>ca. 1200
>> subselects - each defining a separate binding with a simple query of the
>> form { graph ?g { ?s ?g <uri> }}. Like this:
>>
>>   { select (count(*) as ?s1091) where { graph ?g { ?s ?p
>><http://dbpedia.org/resource/Thomas_Mills_Wood>. } }}
>>   { select (count(*) as ?s1092) where { graph ?g { ?s ?p
>><http://dbpedia.org/resource/John_Wood_(explorer)>. } }}
>>   { select (count(*) as ?s1093) where { graph ?g { ?s ?p
>><http://sws.geonames.org/2633653/>. } }}
>>
>> There are not many named graphs (ca. 7000) and not many triples that
>>would
>> match (I guess < 200). Do you think it would be faster to make 1200
>>separate
>> queries instead?
>
>That's a cross-product (of one item) for what is essential a bunch of
>separate queries.  I'd look at the optimized algebra to see what execute
>plan it decided on.
>
>And a stream of queries is worth trying out.
>
>       Andy
>
>>
>> Regards,
>>
>> Michael Brunnbauer
>>
>> On Mon, Feb 16, 2015 at 11:39:20AM +0000, Rob Vesse wrote:
>>> Michael
>>>
>>> The error is coming from Jetty, it simply means that one end of the
>>> connection was closed.  I assume you see this in the Fuseki log?
>>>
>>> Most likely your client is timing out and closing the connection since
>>>15
>>> minutes for a query to complete is longer than the default timeouts of
>>> most browsers and HTTP clients/API.
>>>
>>> Try upping the timeout significantly in your client/browser/API to
>>> something higher than the expected runtime of the query.
>>>
>>> Rob
>>>
>>> On 16/02/2015 11:01, "Michael Brunnbauer" <[email protected]> wrote:
>>>
>>>>
>>>> hi all,
>>>>
>>>> I see this Exception with a very big SPARQL select query (182825
>>>>bytes)
>>>> on a TDB with jena-fuseki-1.0.2-20140315.080253-36. After an upgrade
>>>>to
>>>> jena-fuseki-1.1.1, the problem is still there. The query used to work
>>>> before
>>>> but took very long (ca. 900s).
>>>>
>>>> What does the error mean? Is my TDB corrupted?
>>>>
>>>> 02:50:58 INFO  [1] exec/select
>>>> org.eclipse.jetty.io.EofException
>>>>         at
>>>> 
>>>>org.eclipse.jetty.http.HttpGenerator.flushBuffer(HttpGenerator.java:914
>>>>)
>>>>         at
>>>> 
>>>>org.eclipse.jetty.http.AbstractGenerator.flush(AbstractGenerator.java:4
>>>>43)
>>>>         at 
>>>>org.eclipse.jetty.server.HttpOutput.flush(HttpOutput.java:100)
>>>>         at
>>>> 
>>>>org.eclipse.jetty.server.AbstractHttpConnection$Output.flush(AbstractHt
>>>>tpC
>>>> onnection.java:1123)
>>>>         at
>>>> 
>>>>org.apache.jena.fuseki.servlets.ResponseResultSet.output(ResponseResult
>>>>Set
>>>> .java:303)
>>>>         at
>>>> 
>>>>org.apache.jena.fuseki.servlets.ResponseResultSet.textOutput(ResponseRe
>>>>sul
>>>> tSet.java:249)
>>>>         at
>>>> 
>>>>org.apache.jena.fuseki.servlets.ResponseResultSet.doResponseResultSet$(
>>>>Res
>>>> ponseResultSet.java:148)
>>>>         at
>>>> 
>>>>org.apache.jena.fuseki.servlets.ResponseResultSet.doResponseResultSet(R
>>>>esp
>>>> onseResultSet.java:89)
>>>>         at
>>>> 
>>>>org.apache.jena.fuseki.servlets.SPARQL_Query.sendResults(SPARQL_Query.j
>>>>ava
>>>> :345)
>>>>         at
>>>> 
>>>>org.apache.jena.fuseki.servlets.SPARQL_Query.execute(SPARQL_Query.java:
>>>>242
>>>> )
>>>>         at
>>>> 
>>>>org.apache.jena.fuseki.servlets.SPARQL_Query.executeWithParameter(SPARQ
>>>>L_Q
>>>> uery.java:195)
>>>>         at
>>>> 
>>>>org.apache.jena.fuseki.servlets.SPARQL_Query.perform(SPARQL_Query.java:
>>>>96)
>>>>         at
>>>> 
>>>>org.apache.jena.fuseki.servlets.SPARQL_ServletBase.executeLifecycle(SPA
>>>>RQL
>>>> _ServletBase.java:171)
>>>>         at
>>>> 
>>>>org.apache.jena.fuseki.servlets.SPARQL_ServletBase.executeAction(SPARQL
>>>>_Se
>>>> rvletBase.java:152)
>>>>         at
>>>> 
>>>>org.apache.jena.fuseki.servlets.SPARQL_ServletBase.execCommonWorker(SPA
>>>>RQL
>>>> _ServletBase.java:140)
>>>>         at
>>>> 
>>>>org.apache.jena.fuseki.servlets.SPARQL_ServletBase.doCommon(SPARQL_Serv
>>>>let
>>>> Base.java:69)
>>>>         at
>>>> 
>>>>org.apache.jena.fuseki.servlets.SPARQL_Query.doPost(SPARQL_Query.java:5
>>>>7)
>>>>         at 
>>>>javax.servlet.http.HttpServlet.service(HttpServlet.java:755)
>>>>         at 
>>>>javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
>>>>         at
>>>> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:684)
>>>>         at
>>>> 
>>>>org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHa
>>>>ndl
>>>> er.java:1496)
>>>>         at
>>>> 
>>>>org.eclipse.jetty.servlets.UserAgentFilter.doFilter(UserAgentFilter.jav
>>>>a:8
>>>> 2)
>>>>         at
>>>> org.eclipse.jetty.servlets.GzipFilter.doFilter(GzipFilter.java:256)
>>>>         at
>>>> 
>>>>org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHa
>>>>ndl
>>>> er.java:1467)
>>>>         at
>>>> 
>>>>org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:4
>>>>99)
>>>>         at
>>>> 
>>>>org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler
>>>>.ja
>>>> va:229)
>>>>         at
>>>> 
>>>>org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler
>>>>.ja
>>>> va:1086)
>>>>         at
>>>> 
>>>>org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:42
>>>>8)
>>>>         at
>>>> 
>>>>org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.
>>>>jav
>>>> a:193)
>>>>         at
>>>> 
>>>>org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.
>>>>jav
>>>> a:1020)
>>>>         at
>>>> 
>>>>org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.jav
>>>>a:1
>>>> 35)
>>>>         at
>>>> 
>>>>org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.j
>>>>ava
>>>> :116)
>>>>         at org.eclipse.jetty.server.Server.handle(Server.java:370)
>>>>         at
>>>> 
>>>>org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractH
>>>>ttp
>>>> Connection.java:494)
>>>>         at
>>>> 
>>>>org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpCon
>>>>nec
>>>> tion.java:982)
>>>>         at
>>>> 
>>>>org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(
>>>>Abs
>>>> tractHttpConnection.java:1043)
>>>>         at
>>>> org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:865)
>>>>         at
>>>> org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240)
>>>>         at
>>>> 
>>>>org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection
>>>>.ja
>>>> va:82)
>>>>         at
>>>> 
>>>>org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndP
>>>>oin
>>>> t.java:667)
>>>>         at
>>>> 
>>>>org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPo
>>>>int
>>>> .java:52)
>>>>         at
>>>> 
>>>>org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.
>>>>jav
>>>> a:608)
>>>>         at
>>>> 
>>>>org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.j
>>>>ava
>>>> :543)
>>>>         at java.lang.Thread.run(Thread.java:745)
>>>> Caused by: java.io.IOException: Broken pipe
>>>>         at sun.nio.ch.FileDispatcherImpl.write0(Native Method)
>>>>         at sun.nio.ch.SocketDispatcher.write(SocketDispatcher.java:47)
>>>>         at sun.nio.ch.IOUtil.writeFromNativeBuffer(IOUtil.java:93)
>>>>         at sun.nio.ch.IOUtil.write(IOUtil.java:51)
>>>>         at 
>>>>sun.nio.ch.SocketChannelImpl.write(SocketChannelImpl.java:487)
>>>>         at
>>>> 
>>>>org.eclipse.jetty.io.nio.ChannelEndPoint.flush(ChannelEndPoint.java:293
>>>>)
>>>>         at
>>>> 
>>>>org.eclipse.jetty.io.nio.SelectChannelEndPoint.flush(SelectChannelEndPo
>>>>int
>>>> .java:401)
>>>>         at
>>>> 
>>>>org.eclipse.jetty.http.HttpGenerator.flushBuffer(HttpGenerator.java:850
>>>>)
>>>>         ... 43 more
>>>> 02:51:01 ERROR Internal error
>>>> java.lang.IllegalStateException: Committed
>>>>         at
>>>> org.eclipse.jetty.server.Response.resetBuffer(Response.java:1154)
>>>>         at 
>>>>org.eclipse.jetty.server.Response.sendError(Response.java:317)
>>>>         at 
>>>>org.eclipse.jetty.server.Response.sendError(Response.java:419)
>>>>         at
>>>> 
>>>>javax.servlet.http.HttpServletResponseWrapper.sendError(HttpServletResp
>>>>ons
>>>> eWrapper.java:164)
>>>>         at
>>>> 
>>>>org.apache.jena.fuseki.servlets.HttpServletResponseTracker.sendError(Ht
>>>>tpS
>>>> ervletResponseTracker.java:53)
>>>>         at
>>>> 
>>>>org.apache.jena.fuseki.servlets.ServletBase.responseSendError(ServletBa
>>>>se.
>>>> java:73)
>>>>         at
>>>> 
>>>>org.apache.jena.fuseki.servlets.SPARQL_ServletBase.doCommon(SPARQL_Serv
>>>>let
>>>> Base.java:82)
>>>>         at
>>>> 
>>>>org.apache.jena.fuseki.servlets.SPARQL_Query.doPost(SPARQL_Query.java:5
>>>>7)
>>>>         at 
>>>>javax.servlet.http.HttpServlet.service(HttpServlet.java:755)
>>>>         at 
>>>>javax.servlet.http.HttpServlet.service(HttpServlet.java:848)
>>>>         at
>>>> org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:684)
>>>>         at
>>>> 
>>>>org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHa
>>>>ndl
>>>> er.java:1496)
>>>>         at
>>>> 
>>>>org.eclipse.jetty.servlets.UserAgentFilter.doFilter(UserAgentFilter.jav
>>>>a:8
>>>> 2)
>>>>         at
>>>> org.eclipse.jetty.servlets.GzipFilter.doFilter(GzipFilter.java:256)
>>>>         at
>>>> 
>>>>org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHa
>>>>ndl
>>>> er.java:1467)
>>>>         at
>>>> 
>>>>org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:4
>>>>99)
>>>>         at
>>>> 
>>>>org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler
>>>>.ja
>>>> va:229)
>>>>         at
>>>> 
>>>>org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler
>>>>.ja
>>>> va:1086)
>>>>         at
>>>> 
>>>>org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:42
>>>>8)
>>>>         at
>>>> 
>>>>org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.
>>>>jav
>>>> a:193)
>>>>         at
>>>> 
>>>>org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.
>>>>jav
>>>> a:1020)
>>>>         at
>>>> 
>>>>org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.jav
>>>>a:1
>>>> 35)
>>>>         at
>>>> 
>>>>org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.j
>>>>ava
>>>> :116)
>>>>         at org.eclipse.jetty.server.Server.handle(Server.java:370)
>>>>         at
>>>> 
>>>>org.eclipse.jetty.server.AbstractHttpConnection.handleRequest(AbstractH
>>>>ttp
>>>> Connection.java:494)
>>>>         at
>>>> 
>>>>org.eclipse.jetty.server.AbstractHttpConnection.content(AbstractHttpCon
>>>>nec
>>>> tion.java:982)
>>>>         at
>>>> 
>>>>org.eclipse.jetty.server.AbstractHttpConnection$RequestHandler.content(
>>>>Abs
>>>> tractHttpConnection.java:1043)
>>>>         at
>>>> org.eclipse.jetty.http.HttpParser.parseNext(HttpParser.java:865)
>>>>         at
>>>> org.eclipse.jetty.http.HttpParser.parseAvailable(HttpParser.java:240)
>>>>         at
>>>> 
>>>>org.eclipse.jetty.server.AsyncHttpConnection.handle(AsyncHttpConnection
>>>>.ja
>>>> va:82)
>>>>         at
>>>> 
>>>>org.eclipse.jetty.io.nio.SelectChannelEndPoint.handle(SelectChannelEndP
>>>>oin
>>>> t.java:667)
>>>>         at
>>>> 
>>>>org.eclipse.jetty.io.nio.SelectChannelEndPoint$1.run(SelectChannelEndPo
>>>>int
>>>> .java:52)
>>>>         at
>>>> 
>>>>org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.
>>>>jav
>>>> a:608)
>>>>         at
>>>> 
>>>>org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.j
>>>>ava
>>>> :543)
>>>>         at java.lang.Thread.run(Thread.java:745)
>>>>
>>>> Regards,
>>>>
>>>> Michael Brunnbauer
>>>>
>>>> --
>>>> ++  Michael Brunnbauer
>>>> ++  netEstate GmbH
>>>> ++  Geisenhausener Straße 11a
>>>> ++  81379 München
>>>> ++  Tel +49 89 32 19 77 80
>>>> ++  Fax +49 89 32 19 77 89
>>>> ++  E-Mail [email protected]
>>>> ++  http://www.netestate.de/
>>>> ++
>>>> ++  Sitz: München, HRB Nr.142452 (Handelsregister B München)
>>>> ++  USt-IdNr. DE221033342
>>>> ++  Geschäftsführer: Michael Brunnbauer, Franz Brunnbauer
>>>> ++  Prokurist: Dipl. Kfm. (Univ.) Markus Hendel
>>>
>>>
>>>
>>
>




Reply via email to