Hi Florian, You mentioning trying two approaches to dumping the data but only provide details of one below, what is the other method you tried and did this work ?
The "isctype.c" , error appears to be quite common on windows machines searching on google and implies that a character is being passed to the function that out side the 255 ANSI character range. Thus does any of the data you are dumping contain non-ASCII characters outside the 255 range ? You can check the number of triples in your Virtuoso server by running the command: select count(*) from <graph-name> where {?s ?p ?o} Is it possible to provide some sample data we can use to attempt recreation of this problem ? 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 13 Sep 2010, at 09:33, Florian Kleedorfer wrote: > Hi Hugh, > > I'm running Virtuoso Version: 06.01.3127, Build: Jul 9 2010 on Windows XP > Professional, version 2002, Service Pack 3 > > I tried two approaches for dumping the rdf data: > 1. dump_one_graph(<graph_iri>,<outfile>,<size) > approx. 30MB of rdf data were dumped before a window opens saying that an > assertion failed: > Program: [virtuoso-home]/bin/virtuoso-t.ext > File: [virtuoso-home]/bin/isctype.c > Line: 56 > Expression: (unsigned)(c+1) <= 256 > > Clicking 'retry', 'ignore' and 'abort' all lead to a server crash. in the > isql window, this message is shown: > > *** Error 08S01: [OpenLink][Virtuoso ODBC Driver]CL065: Lost connection to > server > at line 1 of Top-Level: > dump_one_graph(<graph_iri>,'dump.ttl',100000000) > > After that, the server is dead and needs to be restarted. I'm not aware of a > core dump file. > > virtuoso.ini and virtuoso.log files are attached. > > I don't know how I query for the number of triples in a graph, so that piece > of information is missing for now. > > Thanks, > Florian > > > On 11.9.2010 02:01, Hugh Williams wrote: >> 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 >> > > <virtuoso.ini><virtuoso.log>------------------------------------------------------------------------------ > Start uncovering the many advantages of virtual appliances > and start using them to simplify application deployment and > accelerate your shift to cloud computing > http://p.sf.net/sfu/novell-sfdev2dev > _______________________________________________ > Virtuoso-users mailing list > Virtuoso-users@lists.sourceforge.net > https://lists.sourceforge.net/lists/listinfo/virtuoso-users