Hi Florian, How many triples are loaded into the Virtuoso database you are attempting to dump the contents of ? Can you please provide a copy of the virtuoso.ini and virtuoso.log files for analysis. When you say the server crashes is a core file created also ?
What is the version number of your virtuoso installation , run the command virtuoso-t -? to determine the version or the conductor reports this is the left hand frame ? Best Regards Hugh Williams Professional Services OpenLink Software Web: http://www.openlinksw.com Support: http://support.openlinksw.com Forums: http://boards.openlinksw.com/support Twitter: http://twitter.com/OpenLink On 10 Sep 2010, at 15:40, Florian Kleedorfer wrote: > Hi Hugh, > > > The query runs without a problem now, and I don't know why. > Here's what I have done since my last mail: > * Trying to create an rdf dump as described in > http://docs.openlinksw.com/virtuoso/rdfperformancetuning.html, 16.11.4 and > 16.11.5, caused the server to crash several times (I was hoping to export the > rdf data sponged by virtuoso and import it into a native sesame repository, > and continue with that) > * I ran the query I sent you before from the conductor's sparql panel, > prepending this line (found in 16.11.6): > > define sql:select-option "order, loop" > > and now it works, even if I leave that line out. > > > here's the output of the explain() function. > > > Query result: > REPORT > VARCHAR > { > END Node > > After test: > 0: if (<constant (0)> 1(=) <constant (1)>) then 9 else 4 unkn 9 > 4: if (<constant (0)> 1(=) <constant (1)>) then 9 else 8 unkn 9 > 8: BReturn 1 > 9: BReturn 0 > > Precode: > 0: $26 "callret" := Call min_bnode_iri_id () > 5: $27 "callret" := Call DB.DBA.RDF_OBJ_OF_SQLVAL (<constant (1)>) > 12: BReturn 0 > from DB.DBA.RDF_QUAD by RDF_QUAD_POGS 0.26 rows > Key RDF_QUAD_POGS ASC ($30 "t2.S", $29 "t2.O") > inlined <col=551 P = <constant (#i3600002)>> > row specs: <col=549 G = <constant (#i1053096)>> > Local Test > 0: if (<constant (0)> 1(=) <constant (1)>) then 5 else 4 unkn 5 > 4: BReturn 1 > 5: BReturn 0 > > from DB.DBA.RDF_QUAD by RDF_QUAD_POGS 2.5 rows > Key RDF_QUAD_POGS ASC ($35 "t3.G", $34 "t3.S") > <col=551 P = <constant (#i1)>> , <col=552 O = $30 "t2.S"> > 0 > > from DB.DBA.RDF_QUAD by RDF_QUAD_POGS Unique > Key RDF_QUAD_POGS ASC ($40 "t1.O", $39 "t1.S") > <col=551 P = <constant (#i1053097)>> , <col=552 O = $27 "callret"> , <col=549 > G = <constant (#i1053096)>> , <col=550 S = $35 "t3.G"> > row specs: <col=550 S < $26 "callret"> > Local Test > 0: $43 "callret" := Call isiri_id ($40 "t1.O") > 5: $44 "temp" := artm <constant (1)> - $43 "callret" > 9: if (<constant (0)> 1(=) $44 "temp") then 14 else 13 unkn 14 > 13: BReturn 1 > 14: BReturn 0 > > > Precode: > 0: $45 "ind" := Call __id2i ($34 "t3.S") > 5: $46 "ctx" := Call __ro2sq ($29 "t2.O") > 10: $47 "type" := Call __id2i ($30 "t2.S") > 15: $48 "g1" := Call __id2i ($39 "t1.S") > 20: BReturn 0 > local save: ($61 "set_ctr", $70 "set_no_save") > cluster outer seq start, set no $61 "set_ctr" > save ctx:() > from DB.DBA.RDF_QUAD by RDF_QUAD_SP 3.2 rows > Key RDF_QUAD_SP ASC ($50 "t5.P") > inlined <col=550 S = $34 "t3.S"> > > from DB.DBA.RDF_QUAD by RDF_QUAD 1.6 rows > Key RDF_QUAD ASC ($54 "t5.O") > inlined <col=551 P = $50 "t5.P"> , <col=550 S = $34 "t3.S"> > row specs: <col=549 G = $39 "t1.S"> , <col=549 G = $35 "t3.G"> > > > After test: > 0: $57 "callret" := Call __ro2sq ($54 "t5.O") > 5: $58 "callret" := Call DB.DBA.RDF_LANGUAGE_OF_OBJ ($57 "callret") > 12: $59 "callret" := Call DB.DBA.RDF_LANGMATCHES ($58 "callret", <constant > (en)>) > 19: if (<constant (0)> 1(=) $59 "callret") then 24 else 23 unkn 24 > 23: BReturn 1 > 24: BReturn 0 > end of outer seq $61 "set_ctr" > out: ($50 "t5.P", $59 "callret", $58 "callret", $54 "t5.O", $57 "callret") > > After code: > 0: $71 "correctLangProp" := Call __id2i ($50 "t5.P") > 5: $72 "correctLangVal" := Call __ro2sq ($54 "t5.O") > 10: BReturn 0 > Select (TOP <constant (10)>) ($48 "g1", $47 "type", $46 "ctx", $45 "ind", $71 > "correctLangProp", $72 "correctLangVal", <$56 "<DB.DBA.RDF_QUAD t5>" spec 5>, > <$52 "<DB.DBA.RDF_QUAD t5>" spec 5>, <$41 "<DB.DBA.RDF_QUAD t1>" spec 4>, > <$37 "<DB.DBA.RDF_QUAD t3>" spec 5>, <$32 "<DB.DBA.RDF_QUAD t2>" spec 5>) > } > No. of rows in result: 74 > > On 10.9.2010 15:35, Hugh Williams wrote: >> Hi Florian, >> >> Can you please provide the compilation and query execution plan for this >> query using the Virtuoso explain() function as detailed at: >> >> http://docs.openlinksw.com/virtuoso/fn_explain.html >> >> Note you will need to run this function from the Virtuoso "isql" command >> line program or the "Interactive SQL" interface of the conductor (not the >> sparql one) remembering to prepend your query with the "sparql ..." keyword >> specifier. >> >> Best Regards >> Hugh Williams >> Professional Services >> OpenLink Software >> Web: http://www.openlinksw.com >> Support: http://support.openlinksw.com >> Forums: http://boards.openlinksw.com/support >> Twitter: http://twitter.com/OpenLink >> >> On 10 Sep 2010, at 13:13, Florian Kleedorfer wrote: >> >>> Hi, >>> >>> I'm having problems with a SPARQL query I need to run on virtuoso. The >>> sparql engine returns this error message (with a simplified version of my >>> query): >>> >>> 37000 Error SP031: SPARQL compiler: Internal error: The SPARQL optimizer >>> has failed to process the query with reasonable quality. The resulting SQL >>> query is abnormally long. Please paraphrase the SPARQL query. >>> >>> SPARQL query: >>> PREFIX owl: >>> PREFIX sc: >>> PREFIX common: >>> PREFIX config: >>> PREFIX xsd: >>> select * >>> FROM config: >>> where { >>> ?g1 common:useGraph "true"^^xsd:boolean >>> . ?type common:resultForContext ?ctx >>> . GRAPH ?g1 { >>> ?ind a ?type >>> . OPTIONAL { >>> ?ind ?correctLangProp ?correctLangVal >>> . filter(langMatches(lang(?correctLangVal),"en")) >>> } >>> } >>> } limit 10 >>> >>> >>> The idea is to have a named graph (config: in this query) that contains the >>> names of graphs which in turn contain the data I want to work on. This >>> works fine unless I use optional graph patterns to select from a graph IRI >>> found in the config: graph (?g1 in this query). I tried different >>> reformulations of the query, but I had no luck. >>> >>> Any ideas, anyone? - Thanks! >>> >>> Best, >>> Florian >>> >>> ------------------------------------------------------------------------------ >>> Automate Storage Tiering Simply >>> Optimize IT performance and efficiency through flexible, powerful, >>> automated storage tiering capabilities. View this brief to learn how >>> you can reduce costs and improve performance. >>> http://p.sf.net/sfu/dell-sfdev2dev_______________________________________________ >>> Virtuoso-users mailing list >>> Virtuoso-users@lists.sourceforge.net >>> https://lists.sourceforge.net/lists/listinfo/virtuoso-users >> >