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