Hello Simon,

On 30/01/13 23:08, Rakov, Simon wrote:

Hi,

I’m getting the error “java.lang.RuntimeException: Cannot retrieve Literal with ID of 51890051“ for the following SPARQL:

        SELECT DISTINCT ?domainType ?property ?o

        WHERE

        {

          GRAPH <http://mygraph.com>

          {

            ?s a ?domainType .

            ?s ?property ?o .

          }

        }

What does this mean? Is it time to rebuild the indexes? The full stacktrace is at the end of this mail.


This means that there is an inconsistency in your index files. This was the behaviour you saw some time ago when a problem was identified in one of the optional indices (predicate-lists if I remember correctly). Upgrading to the latest 5.3 release will not fix any such problems introduced by a previous version.

Can you advise whether or not the current repository way created using the latest build you have?

Another possibility is that the entity-pool (the dictionary of internal IDs to URIs/literals) is out of synch with the index files. This is an unlikely occurrence, but could be the result of a 'hard' shutdown, e.g. a 'kill -9'. I know you have had trouble stopping OWLIM recently, so perhaps this could also be a factor?

Frequently OWLIM will hang when I run the query below. If I stop it with Tomcat’s shutdown script, sometimes it fails to shut down. I then kill the OWLIM job. Could this be causing problems for the OWLIM indexes?


Ah, yes, this is likely to have an affect on things. We need to sort out the reason that is forcing you to kill the OWLIM JVM asap.

Thanks for your help!

PREFIX owl:<http://www.w3.org/2002/07/owl#>

PREFIX rdfs:<http://www.w3.org/2000/01/rdf-schema#>

PREFIX xsd:<http://www.w3.org/2001/XMLSchema#>

PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns#>

SELECT *

WHERE

{

  {

    SELECT DISTINCT ?property ?o

    WHERE

    {

      {

        SELECT ?domainType ?property ?o

        WHERE

        {

          GRAPH <http://mygraph.com>

          {

            ?s a ?domainType .

            ?s ?property ?o .

          }

        }

        LIMIT 1000

      }

    }

  }

  FILTER (!(contains(str(?property), str(rdf:type)))) .

  GRAPH <http://staging.trialtrove.citeline.com>

  {

    BIND(xsd:string(REPLACE(STR(?property), "http://.*/(.*)", "$1"))

              as ?label) .

BIND(xsd:string as ?range) .

    OPTIONAL {

       ?o a ?rangeType.

BIND(xsd:string(REPLACE(STR(?property), "http://.*/has?(.*)", "$1"))

            as ?label) .

BIND(?rangeType as ?range).

    }

  }

}


When you say 'hang', do you mean that the query takes a long time to run?
Do you get any results at all?

I suspect, but I will check with the developers, that this query could have very high complexity. It is tempting to think of sub-queries as 'executing first' and providing their results to the outer part of the query, but this is not actually the case (again I will check this). To my mind, sub-queries in SPARQL are the equivalent of 'correlated sub-queries in SQL'.

e.g. the FILTER on ?property in the outer query will affect the values bound to this variable in the inner query. So even though there is a LIMIT 1000, the inner part of the query could be having trouble finding 1000 bindings and could be executing a quite large join (every instance has a type and if a lot of instances have few other properties then most of the results of this join are being discarded by the filter on 'rdf:type').

I'll give this some thought and get back to you.

Regards,
barry

SEVERE: Servlet.service() for servlet openrdf-http-server threw exception

java.lang.RuntimeException: Cannot retrieve Literal with ID of 51890051

        at com.ontotext.trree.CustomLiteralImpl.a(Unknown Source)

        at com.ontotext.trree.CustomLiteralImpl.getLabel(Unknown Source)

at org.openrdf.query.resultio.binary.BinaryQueryResultWriter.writeLiteral(BinaryQueryResultWriter.java:217)

at org.openrdf.query.resultio.binary.BinaryQueryResultWriter.handleSolution(BinaryQueryResultWriter.java:156)

at org.openrdf.query.QueryResultUtil.report(QueryResultUtil.java:54)

at org.openrdf.http.server.repository.TupleQueryResultView.render(TupleQueryResultView.java:70)

at org.springframework.web.servlet.DispatcherServlet.render(DispatcherServlet.java:1183)

at org.springframework.web.servlet.DispatcherServlet.doDispatch(DispatcherServlet.java:902)

at org.springframework.web.servlet.DispatcherServlet.doService(DispatcherServlet.java:807)

at org.springframework.web.servlet.FrameworkServlet.processRequest(FrameworkServlet.java:571)

at org.springframework.web.servlet.FrameworkServlet.doPost(FrameworkServlet.java:511)

        at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)

        at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)

at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)

at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)

at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)

        at java.lang.Thread.run(Thread.java:662)

Jan 30, 2013 4:31:11 PM org.apache.catalina.core.StandardWrapperValve invoke

SEVERE: Servlet.service() for servlet workbench threw exception

java.io.EOFException

        at java.io.DataInputStream.readByte(DataInputStream.java:250)

at org.openrdf.query.resultio.binary.BinaryQueryResultParser.parse(BinaryQueryResultParser.java:194)

at org.openrdf.http.client.HTTPClient.getTupleQueryResult(HTTPClient.java:1144)

at org.openrdf.http.client.HTTPClient.sendTupleQuery(HTTPClient.java:447)

at org.openrdf.http.client.HTTPClient.sendTupleQuery(HTTPClient.java:422)

at org.openrdf.repository.http.HTTPTupleQuery.evaluate(HTTPTupleQuery.java:41)

at org.openrdf.workbench.commands.QueryServlet.evaluateTupleQuery(QueryServlet.java:208)

at org.openrdf.workbench.commands.QueryServlet.service(QueryServlet.java:146)

at org.openrdf.workbench.commands.QueryServlet.service(QueryServlet.java:99)

at org.openrdf.workbench.commands.QueryServlet.service(QueryServlet.java:72)

at org.openrdf.workbench.base.TransformationServlet.service(TransformationServlet.java:73)

at org.openrdf.workbench.base.BaseServlet.service(BaseServlet.java:40)

at org.openrdf.workbench.proxy.ProxyRepositoryServlet.service(ProxyRepositoryServlet.java:93)

at org.openrdf.workbench.proxy.WorkbenchServlet.service(WorkbenchServlet.java:131)

at org.openrdf.workbench.proxy.WorkbenchServlet.service(WorkbenchServlet.java:90)

at org.openrdf.workbench.proxy.WorkbenchGateway.service(WorkbenchGateway.java:109)

at org.openrdf.workbench.base.BaseServlet.service(BaseServlet.java:40)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.openrdf.workbench.proxy.CookieCacheControlFilter.doFilter(CookieCacheControlFilter.java:52)

at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)

at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)

at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)

at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)

at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)

at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)

at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)

at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293)

at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:859)

at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:602)

at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489)

        at java.lang.Thread.run(Thread.java:662)

------------------------------------------------------------------------

*Confidentiality Notice: *This message is private and may contain confidential and proprietary information. If you have received this message in error, please notify us and remove it from your system and note that you must not copy, distribute or take any action in reliance on it. Any unauthorized use or disclosure of the contents of this message is not permitted and may be unlawful.


_______________________________________________
Owlim-discussion mailing list
Owlim-discussion@ontotext.com
http://ontomail.semdata.org/cgi-bin/mailman/listinfo/owlim-discussion

Reply via email to