Hi Maria,

As said in my previous response those options are not documented … and it would 
be of more use to see the profile output for the query when run ...

Best Regards
Hugh Williams
Professional Services
OpenLink Software, Inc.      //              http://www.openlinksw.com/
Weblog   -- http://www.openlinksw.com/blogs/
LinkedIn -- http://www.linkedin.com/company/openlink-software/
Twitter  -- http://twitter.com/OpenLink
Google+  -- http://plus.google.com/100570109519069333827/
Facebook -- http://www.facebook.com/OpenLinkSoftware
Universal Data Access, Integration, and Management Technology Providers

> On 1 Aug 2016, at 10:34, Maria Jackson <maria.jackson....@gmail.com> wrote:
> 
> Dear Hugh,
> 
> Thanks a lot, but the webpage <http://docs.openlinksw.com/virtuoso/perfdiag/> 
> does not seem to explain what "ro2sq", "inlined" and "artm" mean?
> 
> On Thu, Jul 28, 2016 at 6:50 PM, Hugh Williams <hwilli...@openlinksw.com 
> <mailto:hwilli...@openlinksw.com>> wrote:
> Hi Maria,
> 
> The explain output is more for analysis by development, there are limited 
> description of Query Plans at http://docs.openlinksw.com/virtuoso/perfdiag/ 
> <http://docs.openlinksw.com/virtuoso/perfdiag/> , but those params are not 
> documented.  In terms of query execution the Virtuoso profile command can be 
> used for determining if the query time is being spent in compilation rather 
> then execution as detailed at, 
> http://virtuoso.openlinksw.com/dataspace/doc/dav/wiki/Main/VirtTipsAndTricksAanalyzingSPARQLQuery
>  
> <http://virtuoso.openlinksw.com/dataspace/doc/dav/wiki/Main/VirtTipsAndTricksAanalyzingSPARQLQuery>
>  . See also 
> http://virtuoso.openlinksw.com/dataspace/doc/dav/wiki/Main/VirtQueryOptDiagnostic
>  
> <http://virtuoso.openlinksw.com/dataspace/doc/dav/wiki/Main/VirtQueryOptDiagnostic>
>  ...
> 
> Best Regards
> Hugh Williams
> Professional Services
> OpenLink Software, Inc.      //              http://www.openlinksw.com/ 
> <http://www.openlinksw.com/>
> Weblog   -- http://www.openlinksw.com/blogs/ 
> <http://www.openlinksw.com/blogs/>
> LinkedIn -- http://www.linkedin.com/company/openlink-software/ 
> <http://www.linkedin.com/company/openlink-software/>
> Twitter  -- http://twitter.com/OpenLink <http://twitter.com/OpenLink>
> Google+  -- http://plus.google.com/100570109519069333827/ 
> <http://plus.google.com/100570109519069333827/>
> Facebook -- http://www.facebook.com/OpenLinkSoftware 
> <http://www.facebook.com/OpenLinkSoftware>
> Universal Data Access, Integration, and Management Technology Providers
> 
>> On 28 Jul 2016, at 14:14, Maria Jackson <maria.jackson....@gmail.com 
>> <mailto:maria.jackson....@gmail.com>> wrote:
>> 
>> Sorry for another mail. But just to confirm is the join used by the
>> query plan below some kind of loop join:
>> 
>> {
>> RDF_QUAD_POGS         4 rows(s_1_4_t1.S)
>> P =  ##plays  ,  O =  #/Music
>> RDF_QUAD_POGS       0.8 rows(s_1_4_t0.S)
>> inlined  P =  ##type  ,  O =  ##Musician  ,  S = s_1_4_t1.S
>> Distinct (s_1_4_t0.S)
>> 
>> After code:
>>      0: X :=  := artm s_1_4_t0.S
>>      4: BReturn 0
>> Subquery Select(X)
>> 
>> After code:
>>      0: X := Call __ro2sq (X)
>>      5: BReturn 0
>> Select (X)
>> 
>> On Thu, Jul 28, 2016 at 1:38 PM, Maria Jackson
>> <maria.jackson....@gmail.com <mailto:maria.jackson....@gmail.com>> wrote:
>>> Dear All,
>>> 
>>> Thank you very much for your response. However, I am not able to
>>> understand the meaning of "inlined", "rosq", "artm" in Virtuoso's
>>> query plans. For exposition my question contains small example query.
>>> 
>>> Also how can I figure out which join algorithm is used by Virtuoso by
>>> looking at the output of explain?
>>> 
>>> On Thu, Jul 28, 2016 at 11:50 AM, Maria Jackson
>>> <maria.jackson....@gmail.com <mailto:maria.jackson....@gmail.com>> wrote:
>>>> I apologize for another mail, but I have a deadline tomorrow so I'll
>>>> greatly appreciate if you could please help with this a little.
>>>> 
>>>> On Wed, Jul 27, 2016 at 9:45 PM, Maria Jackson
>>>> <maria.jackson....@gmail.com <mailto:maria.jackson....@gmail.com>> wrote:
>>>>> I ran the following query on Virtuoso:
>>>>> 
>>>>> [code]PREFIX rdf:<http://www.w3.org/1999/02/22-rdf-syntax-ns# 
>>>>> <http://www.w3.org/1999/02/22-rdf-syntax-ns#>>
>>>>> SELECT DISTINCT ?X
>>>>> WHERE
>>>>> {?X rdf:type Musician .
>>>>> ?X rdf:plays <http://Music <http://music/>>}
>>>>> [/code]
>>>>> 
>>>>> The output of "explain" of this query is:
>>>>> [code]{
>>>>> RDF_QUAD_POGS         4 rows(s_1_4_t1.S)
>>>>> P =  ##plays  ,  O =  #/Music
>>>>> RDF_QUAD_POGS       0.8 rows(s_1_4_t0.S)
>>>>> inlined  P =  ##type  ,  O =  ##Musician  ,  S = s_1_4_t1.S
>>>>> Distinct (s_1_4_t0.S)
>>>>> 
>>>>> After code:
>>>>>      0: X :=  := artm s_1_4_t0.S
>>>>>      4: BReturn 0
>>>>> Subquery Select(X)
>>>>> 
>>>>> After code:
>>>>>      0: X := Call __ro2sq (X)
>>>>>      5: BReturn 0
>>>>> Select (X)
>>>>> }
>>>>> [/code]
>>>>> 
>>>>> Now I am unable to decipher the output of explain command. What do
>>>>> "ro2sq", "inlined" and "artm" mean? And which join algorithm (like
>>>>> Hash Join, Merge Join, Nested loop join, etc.) is Virtuoso using for
>>>>> this query? I need to understand Virtuoso's explain command in order
>>>>> to understand the reason for Virtuoso taking a long time to execute?
> 
> 
> ------------------------------------------------------------------------------
> _______________________________________________
> Virtuoso-users mailing list
> Virtuoso-users@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/virtuoso-users

Attachment: smime.p7s
Description: S/MIME cryptographic signature

------------------------------------------------------------------------------
_______________________________________________
Virtuoso-users mailing list
Virtuoso-users@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/virtuoso-users

Reply via email to