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
>> 
> 


Reply via email to