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


Reply via email to