danicadamljanovic / freya

FREyA is a Natural Language Interface for Querying Ontologies
GNU Affero General Public License v3.0
31 stars 16 forks source link

QueryResultParseException when reindexing FREyA for DBPedia proxy #9

Closed KshitizSethia closed 8 years ago

KshitizSethia commented 8 years ago

Getting the following error when reindexing FREya:

org.openrdf.query.QueryEvaluationException: org.openrdf.query.resultio.QueryResultParseException: File does not contain a binary RDF table result at org.openrdf.http.client.QueueCursor.checkException(QueueCursor.java:164) ~[sesame-http-client-2.7.7.jar:na] at org.openrdf.http.client.QueueCursor.getNextElement(QueueCursor.java:123) ~[sesame-http-client-2.7.7.jar:na] at info.aduna.iteration.LookAheadIteration.lookAhead(LookAheadIteration.java:91) ~[sesame-util-2.7.7.jar:na] at info.aduna.iteration.LookAheadIteration.hasNext(LookAheadIteration.java:60) ~[sesame-util-2.7.7.jar:na] at info.aduna.iteration.IterationWrapper.hasNext(IterationWrapper.java:68) ~[sesame-util-2.7.7.jar:na] at org.freya.index.solr.TripleIndexer.addIndex(TripleIndexer.java:230) [TripleIndexer.class:na] at org.freya.index.solr.TripleIndexer.indexBaseQuery(TripleIndexer.java:188) [TripleIndexer.class:na] at org.freya.index.solr.TripleIndexer.indexbaseQueryClassesAndProperties(TripleIndexer.java:115) [TripleIndexer.class:na] at org.freya.index.solr.TripleIndexer$1.run(TripleIndexer.java:74) [TripleIndexer$1.class:na] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) [na:1.8.0_66] at java.util.concurrent.FutureTask.run(FutureTask.java:266) [na:1.8.0_66] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [na:1.8.0_66] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_66] at java.lang.Thread.run(Thread.java:745) [na:1.8.0_66] Caused by: org.openrdf.query.resultio.QueryResultParseException: File does not contain a binary RDF table result at org.openrdf.query.resultio.binary.BinaryQueryResultParser.parse(BinaryQueryResultParser.java:124) ~[sesame-queryresultio-binary-2.7.7.jar:na] at org.openrdf.query.resultio.TupleQueryResultParserBase.parseQueryResult(TupleQueryResultParserBase.java:61) ~[sesame-queryresultio-api-2.7.7.jar:na] at org.openrdf.http.client.BackgroundTupleResult.run(BackgroundTupleResult.java:110) ~[sesame-http-client-2.7.7.jar:na] ... 3 common frames omitted

This is the query submitted by FREyA:

prefix rdfs: http://www.w3.org/2000/01/rdf-schema# prefix rdf: http://www.w3.org/1999/02/22-rdf-syntax-ns# prefix owl: http://www.w3.org/2002/07/owl# SELECT DISTINCT ?p where {
{ optional {?p rdfs:domain ?dd . } ?p rdfs:range ?dorr . filter (!bound(?dd)). FILTER (!regex(str(?p), "http://www.w3.org/2000/01/rdf-schema")) . FILTER (!regex(str(?p), "http://www.w3.org/1999/02/22-rdf-syntax-ns")) . FILTER (!regex(str(?p), "http://www.w3.org/2002/07/owl")) } UNION { ?p rdfs:domain ?dorr . optional{ ?p rdfs:range ?rr .} filter (!bound(?rr)). FILTER (!regex(str(?p), "http://www.w3.org/2000/01/rdf-schema")) . FILTER (!regex(str(?p), "http://www.w3.org/1999/02/22-rdf-syntax-ns")) . FILTER (!regex(str(?p), "http://www.w3.org/2002/07/owl")) } }

If I execute this query on http://dbpedia.org/sparql I get a list of results describing DBPedia's ontology. Here's the URI to access the results:

danicadamljanovic commented 8 years ago

Hi,

I have now updated the code to support SPARQL endpoint. To run FREyA with dbpedia you will not need the proxy - just edit freya.properties to: http://dbpedia.org/sparl and leave repositoryId empty.

This should connect to dbpedia - it might take a while to reindex the directory and I suggest you give it as much RAM as you can.

There might be some exceptions coming out during the reindexing, but this should not stop the process of reindexing - as there is a lot of poorly formatted items in DBPedia.

Danica